This is a production-grade restaurant operating system developed for Hotel Rajawade. The system facilitates a seamless digital dining experience where customers can scan table-specific QR codes to browse a dynamic menu, place orders, and track preparation status in real-time. It includes integrated modules for kitchen management and an administrative command terminal for business analytics.
- Splash screen with interactive branding.
- Dynamic menu with category filtering and real-time availability updates.
- Promo code validation engine (Supports fixed and percentage discounts).
- Live order tracking with multi-stage status indicators.
- Digital tax invoice generation with print-to-PDF support.
- Real-time order synchronization using WebSockets.
- Automated notification engine for new incoming orders.
- Cancellation workflow with mandatory reason persistence.
- Dynamic inventory toggle (Mark items as Sold Out instantly).
- Analytics dashboard: Total Revenue, Avg Order Value, and Hourly Sales Distribution.
- Menu management: CRUD operations with direct photo uploads.
- QR Generation: Automated table-specific QR code creation.
- Reporting: Export daily transaction ledgers in CSV format.
Live Menu Interface
Real-time dish browsing with localized Dharwad branding.
Intelligent Checkout
Tax calculations and promo code integration.
Order Tracking
Real-time preparation stages for customers.
Inventory Control
Instant "Sold Out" toggles for culinary staff.
Order Lifecycle
Tracking served and revoked orders with reason logs.
Business Intelligence
Revenue tracking and hourly demand distribution.
Accounting & Reporting
Comprehensive digital record of all restaurant activities.
- Python 3.12
- Flask (REST API)
- Socket.IO (Asynchronous synchronization)
- SQLAlchemy (ORM for SQLite)
- Gevent (Production-grade WSGI networking)
- React 18
- Vite (Build Tool)
- Tailwind CSS (Styling)
- Framer Motion (Animations)
- Lucide React (Iconography)
- Python 3.12+
- Node.js 18+
- Git
- Navigate to the backend directory.
- Create a virtual environment:
python -m venv venv. - Activate the environment:
source venv/bin/activate. - Install dependencies:
pip install -r requirements.txt. - Start the server:
python app.py. The server will automatically initialize the database and seed the menu assets on the first run.
- Navigate to the frontend directory.
- Install dependencies:
npm install. - Start the development server:
npm run dev.
To enable mobile testing, ensure the backend is listening on 0.0.0.0. The frontend will automatically detect the host IP via window.location.hostname.
MIT License. Distributed for academic and development use. See LICENSE for details.