A Python-based inventory management system created for the final programming project.
- Object-Oriented Design: Uses classes and inheritance (User -> Admin/Customer) to model data.
- Data Persistence: Saves and loads data using JSON.
- Efficient Data Structures: Uses dictionaries for O(1) product lookups.
- Advanced Python Features: Includes decorators (for authorization), generators (for memory-efficient reporting), lambda/filter (for searching), and regular expressions (for login validation).
- Make sure you have Python 3 installed.
- Run the application from the root directory:
python main.py
- Admin: Username:
admin| Password:password123 - Customer: Username:
customer| Password:password
- [Add Team Member Names Here]
models/: Contains the data classes (Product, User, Admin, Customer).services/: Contains the business logic managers (InventoryManager, UserManager).utils/: Contains helpers for files and decorators.tests/: Containsunittestunit tests.
To run unit tests, execute the following from the root directory:
python -m unittest discover -s tests