The Inventory Management System is a desktop application built to manage inventory for a small manufacturing organization. Users can create, view, and manage parts and products.
- Overview
- Features
- Tech Stack
- Setup
- User Interface
- Application Functionality
- Exception Handling
- Contributing
- License
The Inventory Management System provides a platform to manage inventory efficiently. Users can add, modify, delete, and search for parts and products.
- User Interface: A graphical user interface (GUI) for managing parts and products.
- Part Management: Add, modify, and delete parts.
- Product Management: Add, modify, and delete products.
- Search Functionality: Search for parts and products.
- Exception Handling: Ensures application stability and improves user experience.
- Language: C#
- IDE: Visual Studio
- Framework: .NET
- Database: PostgreSQL
- Clone this repository.
- Open the project in Visual Studio.
- Build and run the application.
The application includes the following forms:
- Controls:
- Buttons for “Add,” “Modify,” “Delete,” “Search” for parts and products, and “Exit”
- Lists for parts and products
- Text boxes for searching for parts and products
- Title labels for parts, products, and the application title
- Controls:
- Radio buttons for “In-House” and “Outsourced” parts
- Buttons for “Save” and “Cancel”
- Text boxes for ID, name, inventory level, price, max and min values, and company name or machine ID
- Labels for ID, name, inventory level, price/cost, max and min values, the application title, and company name or machine ID
- Controls:
- Radio buttons for “In-House” and “Outsourced” parts
- Buttons for “Save” and “Cancel”
- Text boxes for ID, name, inventory level, price, max and min values, and company name or machine ID
- Labels for ID, name, inventory level, price, max and min values, the application title, and company name or machine ID
- Controls:
- Buttons for “Save,” “Cancel,” “Add” part, and “Delete” part
- Text boxes for ID, name, inventory level, price, and max and min values
- Labels for ID, name, inventory level, price, max and min values, and the application
- A grid view for all parts
- A grid view for parts associated with the product
- A “Search” button and a text field with an associated list for displaying the results of the search
- Controls:
- Buttons for “Save,” “Cancel,” “Add” part, and “Delete” part
- Text boxes for ID, name, inventory level, price, and max and min values
- Labels for ID, name, inventory level, price, max and min values, and the application “all candidate parts”
- A grid view for parts associated with the product
- A “Search” button and a text box with associated list for displaying the results of the search
The application includes the following functionalities:
-
Main Form:
- Redirect to the “Add Part,” “Modify Part,” “Add Product,” or “Modify Product” forms
- Delete a selected part or product from the grid view
- Search for a part or product and display matching results
- Exit the main form
-
Part Forms:
- Add Part Form:
- Select “In-House” or “Outsourced”
- Enter name, inventory level, price, max and min values, and company name or machine ID
- Save the data and then redirect to the main form
- Cancel or exit out of this form and go back to the main form
- Modify Part Form:
- Select “In-House” or “Outsourced”
- Modify or change data values
- Save modifications to the data and then redirect to the main form
- Cancel or exit out of this form and go back to the main form
- Add Part Form:
The application includes exception handling for the following conditions:
- Detect non-numeric values in textboxes that expect numeric values
- Ensure Min is less than Max, and Inv is between those two values
- Prevent the user from deleting a product that has a Part associated with it
- Confirm “Delete” actions
Contributions are welcome! Feel free to open issues or pull requests.
This project is licensed under the MIT License.