At FoodALot we CareALot. Every little thing matters. Once an end-user submits an online order, we make sure that the order gets dispatched promptly to the Restaurant’s tablet. Missing an order is not an option, as this will make hungry customers angry. Let me explain, how we achieved such a level of reliability and the technologies behind them.
At FoodALot we CareALot. Every little thing matters.
Our back-end technologies are coded in java and we are grateful to the open source community. We use a lightweight, stateless, web-friendly framework called Play Framework, to host our stateless rest services.
We use a Apache Cassandra with 3 clusters as our big-data store. All your data is redundantly stored in 3 servers hosted in three different cities. This infrastructure is so scalable, reliable and allow us to retrieve the entire menu in one call.
Submit Error Handling
Every order is crucial to both users and restaurants. Any submit errors are notified to our support team, so that we can act upon it quickly. We use twilio to send text alerts.
User submits an order using our responsive marketplace web app. New order notification has to be sent to the Restaurant’s portal. We use Apache Kafka as our messaging engine for the inter-process communication. Kafka is our messaging backbone, it is so reliable and we never had issues with it.
The back-end sends push notification to our android app running in the Restaurant’s tablet. Two push notifications are sent using 2 different push notification services, for redundancy. We use CataPush and pushy.me cloud push notifications services to send push notifications.
Acknowledgement from the Tablet
Our back-end has a server process that runs every 3 minutes and monitor the orders. The process tallies the sent messages and the acknowledgements received from the tablet and reports to us if there are any discrepancies.