Overview of My Submission
This is a very simple food delivery app. It allows to search for food and then order and delivery it to your home.
The idea behind this was to build an event-driven distributed system. It contains 5 microservices which communicates with each other via events (most of the time).
Apart from that I wanted to try to implement a simple event sourcing system in which all business events are stored as a sequence of state-changing events.
In this project all these concepts are covered with Redis.
But this is not everything! It also uses other Redis modules, e.g. RedisJSON and Redis Search to show how easy it's to build a reliable system with Redis.
Submission Category: Microservice Mavens
Video Explainer of this project
Language Used
- Java/Spring
- JS/React
Link to Code
Food Delivery app
This is a very simple food delivery distributed system. It allows to search for food and then order them with a delivery.
The entire system is made of 5 microservices (1 React, 4 Java/Spring):
- ui - React application, used by customers to place orders, manage them and track deliveries, url: http://localhost:80,
- bff - backend for frontend service, used to provide REST endpoint for ui, url: http://localhost:8081/swagger-ui.html,
- food - service that handles adding available meals to Redis, url: http://localhost:8084/swagger-ui.html,
- ordering - core service for managing orders,
- delivery - core service for managing deliveries.
Overview video (Optional)
Here's a short video that explains the project and how it uses Redis:
How it works
Here is the overview of a system architecture with used Redis modules:
Most of the communication is based on commands and events. E.g. in order to place an order a proper command…
Additional Resources / Info
- Check out Redis OM, client libraries for working with Redis as a multi-model database.
- Use RedisInsight to visualize your data in Redis.
- Sign up for a free Redis database.
Top comments (3)
Are you wondering how to create a food delivery app?Now is the best moment to begin investing in your own meal delivery application. We've put together an in-depth guide to show you how to successfully design a food delivery app.
Hello! When creating an application, it is important to know what features and functions you need. A courier management system usually includes several mandatory blocks that must be implemented. These features include:
Login and profiles. The login and profile functions are used to identify
order information. This function is necessary to ensure flawless delivery of food and beverages
delivery confirmation.
navigation. This function ensures that your orders will be delivered on time and without any delays.
communication tools. Courier management applications can use several means of communication: calls and chats.
notifications. The app can send notifications to the courier about new orders, expiring deliveries, order status updates, etc.
admin panel. This screen often displays information about the most popular and profitable products from the catalogue.
Read more about creating an app courier services in this article
Find out the true expenses associated with developing a food delivery app in 2024 with our in-depth guide, which includes important factors and essential insights.