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:
- The GCM Connection Server accepting downstram messages from the App server (runing on Google App Engine and programmed in Java) and sending them to the Android client (acting as a driver and passenger based on their email)
- The App Server implements the XMPP protocol to communicate with the GCM connection server.
-The Client App (Android) is a GCM-enabled client.
Watch the Video
This communications system was developed in April 2016 for a Swiss customer.