email to shih-ru.sheng@sjsu if the links are not working edit permission are only open to SJSU accounts
https://docs.google.com/spreadsheets/d/1JCvuqDmIKhIHvicyV1MLb2VOi72WebHdFx2wUzmmFq0/edit?usp=sharing
https://drive.google.com/file/d/1RS94TfMt3VyIdLlMZPf9R-ax0TwSc6-k/view?usp=sharing
This is our CS 151 Group Project. We built a terminal/console cafe ordering system which simulates an online shopping experience. As per the requirements, we wrote it in Java and implemented many of the properties in OOP (Polymorphism, Interfaces, Inheritance).
UML Diagram of Codebase Pictured Above
CustomerAccount/AccountManager: Holds and handles the access/creation of accounts.
Deal/DealManager: Holds and handles deals and how they are applied to orders/items
IncomingReview/Review/ReviewManager: Handles writing, printing, and storing Item Reviews
Order/OrderManager: Handles the users Cart/Full Order
Taxable: Implementation of Sales Tax to be applied to Orders
InvalidArgumentException: Custom exception class for input validation
Pre-requisites:
- Java Version 8 or Above
- Windows: https://www.oracle.com/java/technologies/downloads/
- Mac: https://www.oracle.com/java/technologies/downloads/#jdk24-mac or use Homebrew or something
- Linux: Use your package manager dummy dont waste your time searching on a browser
- Git installed (Above version 2.12)
- (Optional, but better) SSH Key setup w/ Github (Tutorial here - https://docs.github.com/en/authentication/connecting-to-github-with-ssh)
- (The easy way) Have GitHub Desktop installed and sign in.
Clone the repository from https://github.com/ProcrastinateGuy/CS151-Spring-2025-Menu-System
Step 1: Change Directory into CS_151_Project\out\production\CS 151
Step 2: Run java Main
Step 3: Profit????
Ryan: Helped integrate Login/Registration, wrote the initial code for the Deal Class, helped with Item/Order Class. Also currently writing this README
Kenan: Implemented an abstract Review class with OutgoingReview and IncomingReview subclasses. Created a ReviewManager with filtering options for viewing reviews. Also designed the main method in Main.java and the initial terminal interface.
Sean: Wrote a lot of the code
Efe: Worked on item and order classes, also wrote test files