Skip to content
← All projects

Academic Project · Jan 2026 – June 2026

Intelligent Restaurant Management System

A full-stack restaurant operations platform designed around service-oriented architecture, explicit domain boundaries, and event-driven communication.

GitHub:

Overview

Restaurant workflows are related but should not be tightly coupled in software. This project explores reservations, ordering, kitchen preparation, inventory, billing, permissions, and reporting as a maintainable system rather than one monolithic CRUD application.

A central goal was to separate business rules from infrastructure concerns so operational domains could evolve independently.

Inputs & Constraints

  • Staff roles and permissions
  • Customers tables reservations and dining sessions
  • Menu orders and kitchen tickets
  • Inventory billing payments and reporting
  • Timely updates across services

Approach

The backend uses service-oriented boundaries and Hexagonal Architecture principles, keeping domain logic and application services separate from infrastructure adapters.

NestJS and TypeScript power backend services, React provides the frontend, PostgreSQL stores relational data, Kong Gateway forms the API boundary, and Docker packages the system.

Periodic polling was replaced with Apache Kafka publish-subscribe messaging so operational changes could propagate through events instead of repeated client requests.

Outcome

The system demonstrated a complete restaurant-management workflow with clearer separation between business domains and infrastructure concerns.

In controlled testing, replacing polling with Kafka-based event delivery reduced order and status update latency from approximately 5 seconds to 1.2 seconds. The event-driven design also reduced repeated polling requests.

What I Learned

  • Hexagonal Architecture and service decomposition
  • Domain modeling around real business boundaries
  • Asynchronous messaging and API gateway patterns
  • Relational persistence and containerized multi-service development
  • Choosing between synchronous APIs and events

Practical Application

  • Logistics platforms
  • Retail management software
  • Order-processing systems
  • Workflow orchestration platforms
  • Inventory systems

Tech Stack

  • React
  • TypeScript
  • NestJS
  • PostgreSQL
  • Apache Kafka
  • Kong Gateway
  • Docker

← Back to Projects