Here is a GIF demonstrating the functioning of the application:
- Introduction
- Prerequisites
- Installation
- Compilation
- Running the Application
- User Interface
- Application
- Error Handling and Input Validation
This project is a Java desktop application developed for a university course. The application is designed to manage the inventory system of a small manufacturing organization, demonstrating the use of object-oriented design principles, Java programming language constructs, simple exception handling, and user interface development.
- JDK (latest LTS version)
- JavaFX SDK or Module
- Scene Builder
- An IDE (NetBeans version 11.1 or later or IntelliJ IDEA (Community Edition))
- Clone this repository or download as a zip file.
- Unzip it (if you downloaded it as a zip file).
- Open the IDE (NetBeans or IntelliJ IDEA).
- Open the project by selecting "Open Project" and navigating to the project directory.
In the IDE, compile the project by clicking on "Build" or "Compile" (or equivalent command in your IDE).
Run the application by clicking on "Run" (or the equivalent command in your IDE).
This application features several forms, which are designed according to a provided GUI mock-up. They include:
- Main form
- Add Part form
- Modify Part form
- Add Product form
- Modify Product form
Each form includes various UI components such as buttons and text fields. The user interface closely matches the organization of the GUI layout provided.
The application consists of several classes that map to a UML class diagram. It includes functionalities such as adding, modifying, and deleting parts and products, as well as searching for parts and products by ID or name. The details of the functionalities are specified in the project rubric.
The application incorporates error handling and input validation, providing descriptive error messages for various circumstances such as when minimum inventory level is more than maximum, when a product with an associated part is attempted to be deleted, and when inappropriate data is entered in forms.