This project consisted in the backend to communicate mobile applications using push notifications.
One App plays both roles, as a passanger and as a driver depending on the user login.
The flow starts by registering the user in the backend as a passenger or as a driver. Then, when a passenger requests a Taxi, the backend delivers a push notification to all drivers that are not currently driving a passenger.
That App counts with a state diagram that allows each of the Apps to display the proper UI or react to incoming notifications.
Important blocks of this Architecture are:
This communications system was developed in April 2016 for a Swiss customer.