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.
-
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 withEnter
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.
- Language: Python 3
- GUI Framework: CustomTkinter
- Database: SQLite 3
- Calendar Widget: tkcalendar
- Image Handling: Pillow
- Python 3.8 or newer
- Pip (Python package installer)
-
Clone the repository to your local machine:
git clone https://github.com/Felhart/Canteen.git cd Canteen
-
Install the required Python packages:
pip install customtkinter pillow tkcalendar
-
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.
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.