Welcome to the Inventory Management System, a powerful, user-friendly web application built with Python and Streamlit to manage your inventory with ease! Whether you're tracking physical products, digital assets, or services, this system offers a modern interface, secure authentication, and robust features to streamline your inventory operations. π
This project is proudly hosted on GitHub: usama7871/Inventory_Management_system. Star β and fork π΄ the repo to explore and contribute!
- Secure login and signup with password hashing.
- Role-based access (admin, manager, user).
- Password change functionality for all users.
- Admin-only user management (add new users with roles).
- Support for multiple product types: Physical π¦, Digital π», and Service π οΈ.
- Add, edit, and remove products with type-specific attributes (e.g., weight for physical, file size for digital).
- Search products by name, category, or ID.
- Track stock levels and manage bulk stock adjustments.
- Visualize total products, inventory value, and low-stock alerts.
- Bar chart showing product type distribution.
- Real-time low-stock warnings for proactive management.
- Store user and inventory data in JSON files for simplicity.
- Export inventory data to JSON for backups.
- Import JSON data to restore or migrate inventory.
- Built with Streamlit for a responsive, interactive web interface.
- Filter and sort products by category, type, name, price, or quantity.
- Expandable product details with action buttons (edit, add stock, remove).
- Python 3.8+: Core programming language.
- Streamlit: Web framework for the UI.
- Hashlib: For secure password hashing.
- JSON: For data storage and export/import.
- UUID: For generating unique product IDs.
- Datetime: For tracking product creation and updates.
Follow these steps to set up and run the Inventory Management System locally.
- Python 3.8 or higher installed (Download Python).
pipfor installing dependencies.- A code editor like VS Code (recommended).
git clone https://github.com/usama7871/Inventory_Management_system.git
cd Inventory_Management_systempython -m venv venv
# On Linux/macOS:
source venv/bin/activate
# On Windows:
venv\Scripts\activatepip install -r requirements.txtIf requirements.txt is not present:
pip install streamlitstreamlit run app.pyOpen your browser and navigate to:
http://localhost:8501
Use the default admin credentials:
- Username:
admin - Password:
admin123
Inventory_Management_system/
βββ app.py # Main Streamlit application
βββ auth.py # User authentication and management
βββ inventory.py # Inventory and product management
βββ product.py # Product classes and exceptions
βββ user_data.json # Stores user data (auto-generated)
βββ inventory_data.json # Stores inventory data (auto-generated)
βββ README.md # Project documentation
βββ requirements.txt # Dependencies (optional)
βββ screenshots/ # Screenshots for README
βββ 1.jpg # Login page screenshot
βββ 2.jpg # Dashboard screenshot
βββ 3.jpg # Products page screenshot
- Log in with existing credentials or create a new account.
- Admins can manage users in the Settings page.
- Use the sidebar to switch between Dashboard, Products, Add Product, Search, Stock Management, and Settings.
- Each page offers specific functionality, like viewing metrics, editing products, or importing data.
- Add products with type-specific details (e.g., dimensions for physical products).
- Search and filter products to find what you need.
- Adjust stock levels for low-stock items or in bulk.
- Export your inventory to JSON for backups.
- Import JSON files to restore or migrate data (
β οΈ this overwrites existing data).
We welcome contributions to make this project even better!
- Fork the repository: usama7871/Inventory_Management_system.
- Create a new branch:
git checkout -b feature/your-feature- Make your changes and commit:
git commit -m "Add your feature"- Push to your branch:
git push origin feature/your-feature- Open a Pull Request on GitHub.
Please follow the Code of Conduct and check the Issues tab for tasks.
This project is licensed under the MIT License. See the LICENSE file for details.
- Streamlit: For an awesome framework to build web apps with Python.
- Python Community: For the amazing libraries and tools.
- You: For checking out this project! π
If you like this project, give it a β on GitHub: usama7871/Inventory_Management_system.
Feel free to share it with others or contribute to make it even better!
π¬ For questions, suggestions, or feedback, open an issue on the repo or reach out via GitHub. Let's manage inventory like pros! πΌ


