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




