This is a terminal-based GUI application written in Python to manage your inventory. It allows you to add, update, delete, and search for items, track quantities, view your inventory list, generate reports, and more.
The project is designed with a simple yet effective interface, ensuring ease of use for users.
Add New Item: Easily add a new item to the inventory with unique identification.
Update Item: Modify the details of an existing item.
Delete Item: Remove an item from the inventory permanently.
Search for an Item: Quickly find an item in the inventory using search criteria.
Update Item Quantity: Adjust the quantity of items in stock.
View Inventory: Display the entire inventory list.
View by Category: Organize and display items based on their category.
Sort Inventory: Sort inventory items by name, price, or quantity for better organization.
Generate Reports: Create and save reports in .txt format (with plans for future format updates).
Admin Mode: Access administrative features for more control over the system.
Exit: Safely exit the application.
Programming Language: Python
Database: MySQL, hosted locally on phpMyAdmin
Reports: Generated in .txt format
Unique ID: Managed using the AUTO_INCREMENT feature in MySQL
Prerequisites:
Make sure you have Python (version 3.x recommended) and pip (package installer) installed on your system. You can download them from https://www.python.org/downloads/.
Install the required Python libraries:
pip install mysql-connector-python
Or you can use:
pip install -r requirements.txt
Clone the repository:
git clone https://github.com/CleonGaming/inventory_manager.git
Configure Database Connection:
Edit the inventory_manager.py
file located in the project root directory.
Update the following details with your database credentials:
HOST = "localhost"USER = "your_username"PASSWORD = "your_password"DATABASE = "ims"
Replace the placeholders with your actual MySQL server address, username, password, and database name.
Set Up MySQL Database:Follow these steps to set up the MySQL database:
Use the Database:
USE ims;
Import the SQL File:
Update the Database Connection Details in your inventory_manager.py
file as mentioned in the previous step.
/path/to/mysql
with the path to your MySQL executable (e.g., /usr/bin/mysql
).
[username]
with your MySQL username (e.g., root
).
ims
with the name of your database.
/path/to/ims.sql
with the full path to your SQL file.
Create a Database in MySQL:
Log in to MySQL:
mysql -u [username] -p
Replace [username]
with your MySQL username (e.g., root
). Enter your password when prompted.
Create a new database:
CREATE DATABASE ims;
Replace ims
with your desired database name.
If you're using MySQL command-line, run the following to import the ims.sql
file:
source /path/to/ims.sql;
Replace /path/to/ims.sql
with the full path to your ims.sql
file.
Alternatively, you can import the SQL file directly from the terminal:
/path/to/mysql -u [username] -p ims < /path/to/ims.sql
Replace:
Navigate to the project directory using your terminal.
Run the application using the following command:
python main.py
This will launch the Inventory Management System. Follow the on-screen prompts to interact with the different functionalities.
Admin Mode: Access this mode to perform tasks that require higher privileges, such as generating reports.
Report Format: Transition from .txt to .pdf or Excel format for more professional reporting.
GUI Enhancement: Improve the terminal-based GUI for a more user-friendly experience.
Cloud Database Integration: Option to use a cloud-based SQL server for remote access.
Data Backup: Allow data backup and restore functionalities.
Search Filters: Expand search functionality with advanced filters.
We welcome contributions to improve this project. Feel free to fork the repository, make changes, and submit a pull request. Before contributing, please make sure to review the code style and formatting guidelines (if any).
Throughout the development of this project, the following resources were instrumental:
Python Documentation
MySQL Documentation
phpMyAdmin Documentation
Stack Overflow - For troubleshooting and community support.
Real Python - For Python tutorials and guides.
W3Schools - For reading SQL and Python basics.
GeeksforGeeks - For reference examples.
CampusX - For learning Python basics.
NetworkChuck - For learning SQL basics.
If you have any feedback, please reach out to me at:
Youtube
This project is licensed under the MIT License.
We hope this Inventory Management System helps you organize your inventory effectively!