DEV Community

Wojtek Krzywiec
Wojtek Krzywiec

Posted on

3 1

Food Delivery App

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.

image-1 image-2 image-3 image-4

The entire system is made of 5 microservices (1 React, 4 Java/Spring):

Overview video (Optional)

Here's a short video that explains the project and how it uses Redis:

Watch the video

How it works

Here is the overview of a system architecture with used Redis modules:

architecture

Most of the communication is based on commands and events. E.g. in order to place an order a proper command…

Additional Resources / Info

architecture

food search

order

active-orders

completed orders


AWS Q Developer image

Your AI Code Assistant

Ask anything about your entire project, code and get answers and even architecture diagrams. Built to handle large projects, Amazon Q Developer works alongside you from idea to production code.

Start free in your IDE

Top comments (2)

Collapse
 
alinadunec profile image
Alina Dunec

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

Collapse
 
nickpowers profile image
Nick

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.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more