A desktop-based application built using Python (Tkinter) and MySQL, designed to streamline the operations of a retail gift shop. This project features a secure login system, product inventory management, sales recording, and database-driven insights — all wrapped in a clean and modular Python codebase.
Gift Shop Management System is a role-based admin tool tailored for small to medium gift stores. Developed as an academic group project, it reflects real-world retail operations and emphasizes clean architecture, database normalization, and user experience design.
-
🔐 Admin Login Authentication Role-based access with secure credential checks from MySQL database
-
📦 Product Inventory Management Add, update, and monitor gift items with categories and stock levels
-
🛒 Sales Processing Process customer orders, record sale items, and track inventory changes
-
📊 Inventory Insights Auto-updating stock status using SQL views (
Low,Medium,In Stock) -
📈 Sales Reports Daily revenue summaries and items sold using database-side reporting logic
-
⚙️ Stored Procedures & Transactions Ensure atomicity in sales through MySQL stored procedures
| Layer | Technology |
|---|---|
| Frontend | Python tkinter, Pillow (GUI & Images) |
| Backend | MySQL 8+ |
| Middleware | mysql-connector-python (DB driver) |
| Architecture | Modular Python, SQL scripts, DB views/procedures |
gift-shop-management-system/
│
├── login1.py # Admin login GUI and routing to dashboard
├── db_config.py # DB connection setup and schema initialization
├── gift_shop_db.sql # SQL schema: tables, views, procedures, seed data
├── requirements.txt # List of Python dependencies
├── README.md # Project documentation
└── image1.jpg # App branding (optional)
git clone https://github.com/your-username/gift-shop-management-system.git
cd gift-shop-management-systempip install -r requirements.txt- Start your MySQL server
- Run the
gift_shop_db.sqlscript to initialize tables and sample data - Update credentials in
db_config.py(host, user, password)
python login1.pyUsername: admin
Password: admin123
⚠️ For production, ensure passwords are hashed and user roles are role-based.
This project was developed as part of the Semester IV Mini Project, showcasing the integration of database systems with Python application development.
This project is licensed for academic and portfolio use.