This project is a Spring Framework application with a Java backend and HTML front-end that I customized to meet the needs of a fictional customer store. The project demonstrates user interface customization, object-oriented programming, business logic enforcement, and unit testing within a professional full-stack workflow.
-
Customized User Interface (UI)
- Updated the HTML front-end with store branding, product names, and part names.
- Added design touches to improve usability and maintain original functionality.
-
About Page
- Added an “About” page describing the store, with navigation links to/from the main screen.
-
Sample Inventory Setup
- Implemented a sample inventory with five products and five parts.
- Logic ensures data is only loaded if the database is empty.
- Prevents duplicate entries by converting duplicate parts into “multi-pack” items.
-
Buy Now Functionality
- Added a “Buy Now” button to product listings.
- Decrements product inventory when clicked.
- Displays success/failure messages without affecting associated part quantities.
-
Enhanced Part Tracking
- Added minimum and maximum inventory fields to the Part entity.
- Updated forms (
InhousePartForm
andOutsourcedPartForm
) to accept min/max values. - Enforced inventory limits, ensuring quantities remain between the defined min and max.
-
Validation Rules
- Added error messages when:
- Inventory is set below the minimum
- Inventory exceeds the maximum
- Updating products reduces part inventory below the minimum
- Added error messages when:
-
Unit Testing
- Added unit tests in the
PartTest
class to confirm min/max validation logic.
- Added unit tests in the
-
Code Cleanup
- Removed unused validator classes to maintain a clean, professional codebase.
- Backend: Java with Spring Framework
- Frontend: HTML user interface customized for the store
- Testing: JUnit tests for validation logic
- Version Control: GitLab repository with structured commits for each feature
- Spring Framework (Java backend development)
- HTML customization for user-facing interfaces
- Object-Oriented Programming principles
- Business logic implementation and validation
- Unit testing with JUnit
- Professional Git version control practices
This project simulates real-world software customization, where an existing inventory management system was tailored to a customer’s needs. The result is a functional and extensible inventory system with:
- A branded front-end experience
- Custom business rules
- Inventory validation safeguards
- Clean, test-backed code ready for professional use