A powerful and user-friendly **Inventory Management System** built using **Python OOP** and **Streamlit**. Originally a university project, this app has evolved into a full-featured inventory management solution with role-based access, real-time analytics, downloadable logs, and admin dashboards.
π Live App: Try it now β
- User Registration & Login with validations
- Secure Password Reset (character + position verification)
- Role-Based Access Control (Users and Admins)
- Unique usernames only (no duplicates allowed)
- Minimum 8-character password required
- View, Add, Update, and Remove Items
- Real-time stock updates and reorder point alerts
- Case-Insensitive Handling (e.g., "apple" = "Apple" = "ApplE")
- Admin-Only Controls:
- Add/Remove items with validation
- Update quantities & prices (No negative values allowed)
- Set custom reorder thresholds
- Customers can buy items easily
- Auto stock deduction & purchase logging
- Daily & historical purchase logs
- Charts by item, user, quantity, and date
- Admin dashboard with full visual insights
- Interactive Charts for:
- Sales by user, item, or date
- Quantity trends
- Low-Stock Warnings with visual indicators
- View and Download logs by date or full history
- Downloadable .txt files for logs
- Profile Page showing purchase stats
- Spending visualization
- Secure password update with security verification
- Python 3
- Streamlit (Interactive UI)
- Pandas (Data Manipulation)
- Matplotlib / Streamlit Charts (Visualization)
- Object-Oriented Programming (Encapsulation, Inheritance)
inventory-managment-system/
β
βββ app.py # Main app logic
βββ requirements.txt # Dependency list
βββ README.md # Project overview and instructions
βββ images/ # Screenshots used in README
β βββ login.png
β βββ inventory.png
β βββ admin.png
β βββ stock.png
β βββ stockchart.png
βββ src/ # All class-based backend modules
βββ user_manager.py
βββ inventory_manager.py
βββ purchase_manager.py
βββ admin_manager.py
βββ file_manager.py
-
Clone the repository:
git clone https://github.com/Aman-ali76/inventory-management-system.git cd inventory-managment-system -
Create virtual environment (optional):
python -m venv venv source venv/bin/activate # or venv\Scripts\activate on Windows
-
Install requirements:
pip install -r requirements.txt
-
Run the app:
streamlit run app.py
| Role | Username | Password |
|---|---|---|
| Admin | admin | admin |
| Customer/User | user | user |
β οΈ These credentials are hardcoded for testing. All new usernames must be unique. Passwords must be at least 8 characters.
Aman Ali
π BS Artificial Intelligence | Superior University
π Live App
- Firebase or SQLite integration for storage
- Email alerts for low-stock items
- Export reports as PDF or Excel
- Role-based dashboards and activity logs
Contributions are welcome! Please open an issue or pull request for any improvements.
For academic and learning purposes. Β© 2025 Aman Ali