Tabble - Hotel Management App
Tabble is a comprehensive hotel management application that allows chefs to manage dishes, customers to place orders, and administrators to oversee operations.
Features
Chef Portal
- Add, edit, and delete dishes
- Upload dish images
- View and manage pending orders
- Mark orders as completed
Customer Portal
- Browse menu by category
- Add items to cart
- Place orders with special instructions
- Request payment
Admin Portal
- View order statistics
- Manage all orders
- Mark orders as paid
Technology Stack
- Backend: FastAPI with Uvicorn
- Frontend: HTML, CSS, JavaScript (with Bootstrap)
- Database: SQLite
Installation
- Clone the repository:
git clone https://github.com/yourusername/tabble.git
cd tabble
- Create a virtual environment and activate it:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
No database configuration needed - SQLite database will be created automatically
Run the application:
python run.py
Access the application:
- From the same computer: http://localhost:8000
- From other devices on your network: Use the URL displayed in the console when you start the application
If you're having trouble accessing the application from other devices, check your firewall settings:
python check_firewall.py
Database Setup
The application uses SQLite, which doesn't require any setup. The database file (tabble.db) will be created automatically in the project root directory when you first run the application.
Project Structure
tabble/
βββ app/
β βββ main.py # FastAPI application entry point
β βββ database.py # Database connection and models
β βββ routers/ # API route handlers
β β βββ chef.py
β β βββ customer.py
β β βββ admin.py
β βββ models/ # Pydantic models for request/response
β β βββ dish.py
β β βββ order.py
β β βββ user.py
β βββ static/ # Static files (CSS, JS, images)
β βββ css/
β βββ js/
β βββ images/
βββ templates/ # HTML templates
β βββ chef/
β β βββ index.html
β β βββ orders.html
β βββ customer/
β β βββ login.html
β β βββ menu.html
β βββ admin/
β βββ index.html
βββ requirements.txt # Project dependencies
βββ README.md # Project documentation
# tabble_new