Completed
Full Stack

FoodFlux

A completely distributed microservices system demonstrating food delivery services and inter-service communication.

Overview

FoodFlux is a distributed food ordering platform built with microservices. It lets users browse restaurants, place orders, and track delivery status in real time. The system demonstrates event-driven architecture with Kafka, fault tolerance patterns, and WebSocket notifications across independent backend services.

What Does it Do?

  • Browse restaurants and view menus as a customer
  • Add items to cart and place food orders
  • Receive real-time order tracking updates
  • Manage restaurant orders and status views for kitchen staff
  • Driver dashboard for accepting and updating delivery status
  • Handle authentication and role-based access control
  • Simulate fault tolerance using circuit breaker patterns

Why I Built this

  • To learn and demonstrate distributed systems and microservices architecture
  • To practice event-driven communication using Kafka and asynchronous patterns
  • To explore real-time notifications and WebSockets in full-stack apps
  • To implement fault tolerance and service resilience in a real-world use case

Tech Stack

  • Node.js
  • Express.js
  • Next.js
  • React
  • Kafka
  • KafkaJS
  • PostgreSQL
  • MongoDB
  • Docker
  • Docker Compose
  • Kubernetes
  • Socket.io
  • JWT
  • bcrypt
  • Tailwind CSS
  • TypeScript

Screengrabs from the project

Login & Auth screen

Login & Auth screen

Customer dashboard browse restaurants

Customer dashboard browse restaurants

Customer placing an order

Customer placing an order

Kitchen staff order management view

Kitchen staff order management view

Driver dashboard for delivery tracking

Driver dashboard for delivery tracking

Designed and Developed by Shahu Kor