Tabble-v1 / README.md
Shyamnath's picture
Initial commit with Git LFS
80feb1b
|
raw
history blame
2.77 kB
# 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
1. Clone the repository:
```
git clone https://github.com/yourusername/tabble.git
cd tabble
```
2. Create a virtual environment and activate it:
```
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```
3. Install dependencies:
```
pip install -r requirements.txt
```
4. No database configuration needed - SQLite database will be created automatically
5. Run the application:
```
python run.py
```
6. 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
7. 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