Build a Full-Stack Food Ordering App

Explore a comprehensive microservices-based food ordering application. This tutorial series covers Docker, MongoDB, PostgreSQL, Redis, RabbitMQ, nginx, Node.js, React, and more, demonstrating how to build a scalable, containerized system with independent services for user management, menu handling, order processing, and notifications.

We’re going to build a food ordering application called Muchies.

By the end of this project you will have hands on experience with a full stack of technologies.

The main components of the system include:

If you are looking for a typical “CRUD” app I am sorry to disappoint.

Why Microservices?

The entire system is containerized. We will first start Docker + Docker Compose. Later on we will deploy to K3s (Kubernetes for mere mortals). Each service is designed to be independent and scalable.

The API gateway is the secret sauce.

It’s going to handle a few things for us:

Project Overview

diagram

This is the backend we will be building out.

Order Service

User Service

Notification Service