Eats On facilitates food ordering, be it express, to go, to arrive at a certain time or when you are at the restaurant already. By using an on-demand flexible network of drivers and on-site applications at each restaurant, Eat’s On brings your food to you, on time.
Client Eats On
Region Costa Rica
Services Software Development
Year 2015 – 2018
Link https://eatson.com/
Features
- Customer food ordering with 4 variants: express, pickup, served to table and reservations to arrive and have the food ready.
- Location-based intelligent filtering of available meals.
- Driver order pickup and reporting. Uber-style ordering pickup handles multiple providers routing.
- Food provider order and inventory management with live dashboard controlling all orders influx and processing.
- Administration dashboard including configuration and information management, reporting and a live map showing all orders processes, and the drivers and their locations.
Challenges
- Shared data and events across 4 different applications.
- Awful mobile network latency in Costa Rica required packages and connection optimization with the mobile app.
- Orders state machine with variants given the order type.
- Live map with several participants and constant updates and alerts. Real-time behavior.
- Connection with the brand new Banco Nacional de Costa Rica payments API. (Launched in late 2016)
- Geolocation optimization and routing for search and delivery.
- Reliable parallel testing to speed up a large test set.
- Caching of times involved in the delivery process, expensive to calculate, daily computed.
- Extended use of delayed jobs to throwing alerts on the lack of response of any of the parts.
Technologies
- Ruby on Rails 4
- PostgreSQL
- Sass, Slim, and CoffeeScript
- jQuery & Bootstrap
- Web Sockets through Action Cable
- Phonegap Hybrid App
- Maps features over MapBox services
- AWS for assets storage
- BNCR Payment API
- ElasticSearch
- Delayed jobs with Sidekiq and Redis
- Docker for virtualized environments and CI