Skip to content

Felhart/Canteen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Canteen POS - A Modern Point-of-Sale System

A simple and modern Point of Sale (POS) application for managing a small canteen, cafe, or shop, built with Python. This project uses CustomTkinter for a sleek, modern user interface and SQLite for robust, local data storage.

Key Features

  • Intuitive Sales Screen (POS):

    • Fast Barcode Integration: Supports 13-digit barcode scanning for instant product lookup and automatic entry.
    • Keyboard-Optimized Workflow: Add items with the Space key and finalize sales with Enter for a completely mouse-free, rapid checkout experience.
    • Live Cart Management: Easily reduce item quantities or remove them from the cart before finalizing a sale.
  • Comprehensive Inventory Management:

    • Add & Edit Products: A dedicated interface to add new products with barcode, name, price, and initial stock.
    • Live Stock Updates: Stock levels are automatically decremented after each confirmed sale.
    • Inline Editing: Double-click any cell (except barcode) in the inventory list to quickly edit product details directly in the table.
  • Powerful Reporting & Analytics:

    • Transaction History (Receipt View): Browse a complete history of all past sales and click on any sale to see the detailed contents of that specific receipt.
    • Product-Based Analytics: Generate detailed reports for any date range to see which products are selling the most, including total units sold and the total revenue generated by each product.
  • Modern & User-Friendly Interface:

    • Built with CustomTkinter for a clean, modern look and feel.
    • Comes with a pre-configured dark theme that is easy on the eyes.
    • Responsive design elements that adapt to different window sizes.

Technology Stack

  • Language: Python 3
  • GUI Framework: CustomTkinter
  • Database: SQLite 3
  • Calendar Widget: tkcalendar
  • Image Handling: Pillow

How to Run

Prerequisites

  • Python 3.8 or newer
  • Pip (Python package installer)

Installation & Setup

  1. Clone the repository to your local machine:

    git clone https://github.com/Felhart/Canteen.git
    cd Canteen
  2. Install the required Python packages:

    pip install customtkinter pillow tkcalendar
  3. Run the application:

    python GUI.py

    The application will automatically create a canteen.db SQLite database file in the project directory on its first run.

Future Development Roadmap

This project is actively being improved. Planned features include:

  • Export to Excel: Functionality to export both "Sales by Receipt" and "Product-Based" reports to a formatted .xlsx file.
  • User Authentication: A login system to differentiate between Admin and Cashier roles.
  • Dashboard with Charts: A visual dashboard summarizing daily/weekly sales trends.
  • Low-Stock Alerts: Notifications for products that are running low on stock.

Created by @Felhart. A project demonstrating practical desktop GUI development with Python.

Images

Canteen POS Screenshot

Canteen POS Screenshot

Canteen POS Screenshot

Canteen POS Screenshot

Canteen POS Screenshot