Skip to content

The Cafeteria System is a Python tkinter desktop app that streamlines food ordering with categorized menus, a shopping cart, and real-time total updates — ideal for small cafeterias.

License

Notifications You must be signed in to change notification settings

Shashwat-19/Cafeteria-Billing-System

Repository files navigation

🍽️ Cafeteria System

Python Streamlit Docker SQLite Status License

A modern web-based cafeteria ordering system built using Python and Streamlit. The system allows users to browse a visually rich menu, add items to a shopping cart, and generate professional digital receipts.


📌 Overview

This Cafeteria System has been upgraded to a full-featured web application. It moves away from the legacy Tkinter interface to a modern, dark-themed UI powered by Streamlit. It features a robust database backend, AI-generated food images, and a seamless checkout experience.


🎯 Key Features

  • 🎨 Modern Dark UI: Custom-styled interface with a sleek, restaurant-grade aesthetic.
  • 📸 AI-Generated Visuals: Over 100+ menu items, each with a unique, high-quality image generated by AI (Flux model).
  • 🧭 Horizontal Navigation: Always-accessible top menu bar for Mains, Sides, Beverages, Desserts, and Cart.
  • 🛒 Dynamic Cart: Real-time total calculation with quantity adjustments.
  • 🧾 Digital Receipts: Generate, view, and print professional bills directly from the app.
  • 📜 Order History: Track past orders and reprint receipts anytime via the database.
  • � Docker Support: Fully containerized for easy deployment and consistent environments.
  • �💾 Persistent Database: Powered by SQLite & SQLAlchemy to store all menu items and transaction history.

🛠️ Tech Stack

Tech Description
Python Core programming language
Streamlit Modern Web UI framework
Docker Containerization platform
SQLite Relational Database
SQLAlchemy ORM for database management
Pollinations.ai API for real-time AI image generation

📥 Installation & Setup

Option 1: Docker (Recommended)

The easiest way to run the app without installing dependencies manually.

  1. Clone the repository:
    git clone https://github.com/yourusername/cafeteria-system.git
    cd cafeteria-system
  2. Run with Docker Compose:
    docker-compose up --build
    The app will be available at http://localhost:8501

Option 2: Local Python Setup

If you prefer running it natively on your machine:

  1. Clone the repository

    git clone https://github.com/yourusername/cafeteria-system.git
    cd cafeteria-system
  2. Install Dependencies

    pip install -r streamlit_app/requirements.txt
  3. Run the Application

    streamlit run streamlit_app/app.py

    The app will automatically open in your browser at http://localhost:8501


🚀 Usage Guide

  • Browse Menu: Use the top navigation bar to switch between categories (Mains, Sides, etc.).
  • Add to Cart: Click "Add to Cart" on any item card. Adjust quantity as needed.
  • Review Cart: Go to the "Cart" tab to see your summary.
  • Get Bill: Toggle "Show Bill Preview" to see the receipt before confirming.
  • Checkout: Click "Confirm Order" to save to the database.
  • History: Use the "Orders" tab to view past transactions.

🧱 Project Structure

📦 cafeteria-system/
├── backend/
│   ├── database.py       # Database connection
│   ├── models.py         # SQLAlchemy models (Order, MenuItem)
│   └── seed.py           # Script to populate DB with AI images
├── streamlit_app/
│   ├── app.py            # Main Streamlit application
│   ├── requirements.txt  # Project dependencies
│   └── styles.css        # Custom CSS for dark theme & receipts
├── cafeteria.db          # SQLite Database file
├── Dockerfile            # Docker container configuration
├── docker-compose.yml    # Docker Compose orchestration
├── README.md
└── LICENSE

📚 Documentation

At present, this README serves as the primary source of documentation.

📜 License

This project is distributed under the MIT License.
For detailed licensing information, please refer to the LICENSE file included in this repository.

📩 Contact

Shashwat

Python & Java Developer | Cloud & NoSQL Enthusiast

  • Python & Java Development – Automation, Backend Systems, APIs, and OOP
  • Cloud & NoSQL – Docker, AWS, MongoDB, Firebase Firestore
  • UI/UX Design – Creating user-focused, scalable, and visually engaging applications

🚀 Open Source | Tech Innovation

Passionate about creating robust applications and leveraging cloud technologies for high-performance solutions.

📌 Find me here:

Feel free to connect for tech collaborations, open-source contributions, or brainstorming innovative solutions!

About

The Cafeteria System is a Python tkinter desktop app that streamlines food ordering with categorized menus, a shopping cart, and real-time total updates — ideal for small cafeterias.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks