Skip to content

Repository files navigation

Smart Café Ordering & Table Management System

This project was developed during a hackathon held in Azerbaijan on the 13th of this month. Our team, Full-Scope, consisting of 6 members, achieved 1st place 🏆.

The system was built based on the hackathon technical task titled Smart Café Ordering & Table Management System. It focuses on automating café operations and improving the workflow for admins, waiters, and customers.


🎯 Project Goal

The main goal of this project is to automate the café ordering process, enable table reservations and online ordering for customers, and provide an efficient management system for café staff. The system aims to reduce manual work while keeping the interface simple and practical.


👥 User Roles

Admin

  • Login to the system
  • Create and update menu items (food, drinks, price, photo)
  • Manage waiters
  • Manage tables (number, capacity, status)

Waiter

  • View active and open orders
  • Create new orders (table → menu → quantity)
  • Update order status: PENDING → PREPARING → DONE → PAID
  • Update table status

Customer

  • Register and login
  • Browse menu with category and price filters
  • Reserve tables by date and time
  • Place online orders
  • View personal order history

Each role has access only to the features related to its responsibilities, ensuring a clear and secure workflow inside the system.


📋 Business Rules

The system follows several important business rules:

  • Table reservations are planned in 30-minute intervals
  • It is not possible to reserve the same table for the same time slot more than once
  • Orders can only be placed during working hours
  • Menu item prices are stored as integer or decimal values
  • Table statuses (EMPTY, RESERVED, OCCUPIED) are updated in real time to reflect the current state of the café

⚙️ Core Features

Admin Features

  • Menu management (name, description, photo, price)
  • Waiter account management
  • Table management (number, capacity, status)

Waiter Features

  • Order creation and management
  • Order and table status updates

Customer Features

  • Table reservation
  • Online ordering (menu → cart → confirmation)
  • "My Orders" page with date, total amount, and status

🗄️ Database Overview

The system uses a relational database structure that includes:

  • Users with different roles
  • Café tables with capacity and status
  • Menu items with pricing and categories
  • Reservations with time intervals
  • Orders linked to customers and tables
  • Order items containing quantities and prices

🛠️ Technologies Used

Backend

  • .NET 8 Web API
  • Entity Framework Core
  • JWT Authentication (Admin, Waiter, Customer roles)
  • SQL Server / PostgreSQL

Frontend (Web)

  • React
  • Vite
  • Redux Toolkit
  • Axios / Fetch API
  • Desktop-optimized UI

Mobile

  • Flutter

📱 Mobile repository: https://github.com/CodeByQafar/hackathon_mobile

🏆 Hackathon Result

The project was evaluated based on backend quality, frontend functionality, teamwork, and presentation. Thanks to strong collaboration inside Team Full-Scope, the project achieved 1st place in the hackathon.

About

.NET 8 Web API backend with React and Flutter clients for a Smart Café Ordering and Table Management System. Real time table status, role based ordering for Admin, Waiter and Customer, and reservation scheduling. Built during a hackathon, 1st place winner.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages