Skip to content

amertu/restaurant-service-system

Repository files navigation

End-to-End Restaurant Service Automation

This project implements a full-stack restaurant management platform featuring real-time table reservations with an interactive floor layout, invoicing, and full administrative control over users and menu items. The application is built using Angular, Spring Boot, Docker, and deployed to Azure with a CI/CD pipeline powered by GitHub Actions.

Tech Stack

Backend Build Frontend Build

Group Technologies
Backend Spring Boot Java PostgreSQL
Frontend Angular TypeScript HTML5 Bootstrap
Infrastructure Docker Compose Azure GitHub Actions
Tools IntelliJ IDEA UML

Key Features

  • Real-Time Reservations: Users can create and manage bookings powered via a layout editor. The system uses an optimized seating algorithm to ensure that groups are placed at adjacent tables whenever possible.
  • Automated Invoicing: Invoices are generated automatically for completed reservations, reducing manual work and minimizing human error.
  • Workflow Automation: Core business processes are streamlined and automated, improving operational efficiency and reducing the need for manual intervention.
  • Front-End and Back-End Integration: Tight integration between Angular frontend and Spring Boot backend ensures a seamless and responsive user experience.
  • Scalable Deployment: Containerized backend deployed via Docker on Azure App Service, with PostgreSQL on Azure Flexible Server and a frontend hosted on Azure Static Web Apps for reliable and scalable operations.

Architecture

Application Architecture (Runtime)
───────────────────────────────
  [Developer]
       │
       ▼
  [GitHub Repo]
       |
       ▼
  [ Client Layer]
  ├─ Angular Frontend
  └─ Bootstrap UI
       │
       ▼
  [API Gateway]
       │
       ▼
  [Services Layer]        now        
  ├─ Reservation        ─────────
  ├─ Layout Management 
  ├─ Invoicing
  ├─ Menu Management
  └─ User Management
       │
       ▼
[Shared Persistence Layer]
       │
       ▼
 [PostgreSQL DB]
Development & Deployment Pipeline
────────────────────────────────────────
[Developer]
    │
    ▼
[GitHub Repo]
(frontend + backend + infra + migrations)
    │
    ▼  (Push / PR triggers)
    [GitHub Actions CI/CD]
    ├─ Build frontend assets
    ├─ Build backend app
    ├─ Run tests
    ├─ Build Docker images
    └─ Push images → [Azure Container Registry]
                   │
next               ▼
─────>    +------------------------+
          |     Deployment         |
          +------------------------+
          |                        |
          ▼                        ▼
[Azure Static Web Apps]      [Azure App Service]
   (frontend files)          (backend container)
                                   │
                                   ▼
                            [Config: Env Vars]
                                   │
                                   ▼
                            [Azure PostgreSQL DB]
                          (Managed, secure connection)
                                   │
                                   ▼
                           [Azure Blob Storage]