Managing inventory can lead to errors such as:
-
Overbooking or overselling items
-
Poor visibility into stock levels
-
No easy way for customers to reserve products
The goal of our project is to create a simple, easy to work with system for a grocery store that helps employees manage stock efficiently and customers view and reserve items that are in stock.
We designed an object-oriented system using Java that separates responsibilities across class to keep the code clean and maintainable.
-
Add and manage products with inventory tracking.
-
Real-time stock updates and item reservation.
-
Custom exceptions for handling errors clearly.
-
Item
: Holds basic product information. -
Inventory
: Manages stock and availability. -
Cart
: Handles item reservations. -
Customer
: Stores customer and cart details. -
Employee
: Used for adding new items to the inventory and restock existing items.We follows the SOLID Principles to make the design scalable and easy to maintain.
- Connect to a database to persist inventory and orders.
- Add a user inferface like a web page.
- Build an admin dashboard for employees to easily access and manage items.
- A'nanatawa Mcintyre
- Jason Watson
- John Bey
- Rasheed Miller
- Mercedes Mathews
##Java, JUnit (for testing), and GitHub (for version control) were used to complete this project
/src ├── Item.java ├── Inventory.java ├── Cart.java ├── Customer.java ├── Product.java └── exceptions/ ├── ItemNotFoundException.java └── ItemOutOfStockException.java
-
- Clone the repo
- Open in your IDE (VS Code for example)
- Run the main class or unit tests
- Open Terminal in VS Code
- Run from the root app/src/main/java
- Run command javac q1/team1/*.java
- Run command java q1.team1.CartCLI (To initiate interactive Terminal)
-