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:
Replace the placeholders with your actual MySQL server address, username, password, and database name.
HOST = "localhost" USER = "your_username" PASSWORD = "your_password" DATABASE = "ims"
- Edit the
-
Set Up MySQL Database: Follow these steps to set up the MySQL database:
-
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.
-
Use the Database:
USE ims;
-
Import the SQL File:
-
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 yourims.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:
/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.
-
-
Update the Database Connection Details in your
inventory_manager.py
file as mentioned in the previous step.
-
-
- 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:
This project is licensed under the MIT License.
We hope this Inventory Management System helps you organize your inventory effectively!