Skip to content

An interactive Inventory Management System built with Python OOP and Streamlit. Includes role-based access, real-time analytics, admin dashboard, and purchase tracking.

Notifications You must be signed in to change notification settings

Aman-ali76/inventory-management-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“¦ Inventory Management System


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 β†’


πŸš€ Features

πŸ” Authentication & Authorization

  • 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

πŸ“¦ Inventory Management

  • 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

πŸ›’ Purchase System

  • Customers can buy items easily
  • Auto stock deduction & purchase logging

πŸ“Š Data Analytics & Visualizations

  • 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

πŸ“₯ Logs & Reports

  • View and Download logs by date or full history
  • Downloadable .txt files for logs

πŸ‘€ User Dashboard

  • Profile Page showing purchase stats
  • Spending visualization
  • Secure password update with security verification

🧱 Tech Stack

  • Python 3
  • Streamlit (Interactive UI)
  • Pandas (Data Manipulation)
  • Matplotlib / Streamlit Charts (Visualization)
  • Object-Oriented Programming (Encapsulation, Inheritance)

πŸ“ Project Structure

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

πŸ› οΈ Run Locally

  1. Clone the repository:

    git clone https://github.com/Aman-ali76/inventory-management-system.git
    cd inventory-managment-system
  2. Create virtual environment (optional):

    python -m venv venv
    source venv/bin/activate  # or venv\Scripts\activate on Windows
  3. Install requirements:

    pip install -r requirements.txt
  4. Run the app:

    streamlit run app.py

πŸ§ͺ Default Credentials

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.


πŸ“· Screenshots

πŸ” Login / Register Page

Login Screenshot

πŸ“¦ Inventory View

Inventory Screenshot

πŸ“Š Admin Dashboard

Admin Dashboard Screenshot

πŸ“₯ Stock Indication

Stock Indicatio

Indication Chart


πŸ‘¨β€πŸ’» Developer

Aman Ali
πŸŽ“ BS Artificial Intelligence | Superior University
🌐 Live App


🌱 Future Plans

  • Firebase or SQLite integration for storage
  • Email alerts for low-stock items
  • Export reports as PDF or Excel
  • Role-based dashboards and activity logs

🀝 Contributing

Contributions are welcome! Please open an issue or pull request for any improvements.

πŸ“œ License

For academic and learning purposes. Β© 2025 Aman Ali

About

An interactive Inventory Management System built with Python OOP and Streamlit. Includes role-based access, real-time analytics, admin dashboard, and purchase tracking.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages