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
  1. Create a virtual environment and activate it:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
  1. No database configuration needed - SQLite database will be created automatically

  2. Run the application:

python run.py
  1. 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
  2. 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