This project implements a database management system for a supermarket chain called "BGU Mart" using Python and SQLite. The system manages employees, suppliers, products, branches, and activities (sales and deliveries).
- Employee management system
- Supplier database
- Product inventory tracking
- Branch location management
- Activity logging for sales and deliveries
- Data persistence using SQLite
initiate.py
: Builds the database and inserts initial data from a configuration fileaction.py
: Manages supermarket activities (sales and deliveries)printdb.py
: Prints database contents and generates reportspersistence.py
: Defines data models and database connectiondbtools.py
: Provides database utility functions and ORM implementation
-
Initialize the database with sample data:
python initiate.py config.txt
-
Perform activities (sales/deliveries):
python action.py action.txt
-
Print database contents and reports:
python printdb.py
- Python 3.9 or higher
- SQLite3
The project follows the DAO (Data Access Objects) and DTO (Data Transfer Objects) design patterns for database access, with a Repository pattern for overall data management. The ORM implementation allows for flexible database operations without direct SQL in most places.
This project was developed as part of the SPL course at Ben-Gurion University.