Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/slashton80/japanese_restaurant
A Java application demonstrating database connectivity using JDBC, MySQL, and XAMPP. Includes features for creating, inserting, and querying data, with a focus on integrating Java with relational databases.
https://github.com/slashton80/japanese_restaurant
console-application crud-application dependencies html-css-javascript java jdbc junit mvc mysql-database object-oriented-programming springboot xampp-server
Last synced: 4 days ago
JSON representation
A Java application demonstrating database connectivity using JDBC, MySQL, and XAMPP. Includes features for creating, inserting, and querying data, with a focus on integrating Java with relational databases.
- Host: GitHub
- URL: https://github.com/slashton80/japanese_restaurant
- Owner: Slashton80
- Created: 2024-12-15T17:30:41.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2024-12-19T15:57:06.000Z (about 2 months ago)
- Last Synced: 2025-02-09T03:42:38.942Z (4 days ago)
- Topics: console-application, crud-application, dependencies, html-css-javascript, java, jdbc, junit, mvc, mysql-database, object-oriented-programming, springboot, xampp-server
- Language: Java
- Homepage:
- Size: 5.92 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## About the Project
This project was developed as part of my CIS coursework at Holland College PEI in 2024. We worked in a group of three to complete this project, with each member playing a specific role. I served as the **Lead Developer**, where I was tasked with implementing the Japanese Restaurant system based on the idea presented by our **Business Client**, Nguyen Nguyen. Additionally, I contributed as a **Quality Assurance (QA)** tester for another teammate's project.This project was an excellent demonstration of teamwork and collaboration. It also introduced us to **source control and project management tools**, such as **Bitbucket**, **Jira**, and **Sourcetree**, which we used extensively to manage our codebase, track tasks, and maintain version control throughout the development process.
Some of the code was adapted from BJ MacLean's examples.
---
# Advanecd Java Project: Japanese Restaurant #
---## Development Team ##
Business Client: Nguyen Nguyen
Lead Developer: Sherri Ashton
Quality Control: Vy Phan
The project: This project Japanese Restaurant belongs to Nguyen Nguyen.---
## Description ##
**A Culinary Journey: Our All - You - Can - Eat - Japanese Restaurant**
Our Japanese restaurant offers an authentic dining experience that will transport you to the Land of the Rising Sun. With a commitment to using the freshest ingredients and traditional cooking techniques, we strive to create dishes that are both delicious and visually stunning.
Our menu features a wide variety of Japanese specialties, from classic sushi and sashimi to hearty ramen and savory tempura. For those seeking a more substantial meal, our ramen dishes are packed with flavorful broth, tender noodles, and a variety of toppings.
**A Seamless Reservation Experience**
To make your dining experience even more enjoyable, we offer a convenient online reservation system. Simply visit our website and select your desired date, time, and number of guests. Once you've submitted your reservation, you'll receive a confirmation email, ensuring that your booking is secure.
**Exclusive Offers and Discounts**
To make your reservation even more rewarding, we offer a variety of coupons and discounts that can be applied to your online booking. Whether you're looking for a discount on your total bill or a complimentary appetizer, our coupons provide a great way to save money and enhance your dining experience.
We understand that unexpected changes can sometimes occur, so we offer a flexible cancellation policy. If you need to cancel your reservation, simply contact us directly and we'll do our best to accommodate your request.
By choosing to make your reservation online, you're not only ensuring a hassle-free dining experience but also taking advantage of exclusive offers and discounts. We look forward to welcoming you to our restaurant and providing you with an unforgettable culinary journey.---
## Color ##
--main-color-grey: #9c9a9a;
--main-color-primary: #d1a36e;
--main-color-white: #f9f4ef;
--main-color-text: #fa8072;
--main-color-bright: #ffffff;
--main-color-container: #e4ddd6;
---
## Required Fields ##
This will be a list of fields and their datatype (class design format). There are expected to be a minimum of six fields.
id: int - Unique id Assigns ID for every reservation
name: String - Name of the person who books
numberOfSeniors: int - Number of seniors that will attend
numberOfChildren: int - Number of children that will attend
numberOfAdults: int - Number of adults that will attend
couponDiscount -double - 30% off the bill
entryCostPerCustomer - int - $25 for each customer
date: LocalDateTime - The date and time of the reservation
email: String Email - address of the person who books
bill: double - Final bill according to how many customers attend and if they have discounts (see calculation)
childrenDiscount -double - 20% off the bill
seniorDiscount - double - 15% off the bill
---
## Calculation ##Entry Cost per Customer: Every customer has a base entry cost of $25. This means, for each customer attending, the total bill starts by multiplying the number of customers by this base cost.
Discounts for Children and Seniors: If there are children or seniors attending, they receive special discounts on their portion of the bill.
Children receive a 20% discount.
Seniors receive a 15% discount.
Regular Adult Customers: Any adults attending without a discount will simply pay the full entry cost of $25.
Applying a Coupon Discount: If a coupon is applied, it will reduce the total bill by 30%. The final bill is calculated by subtracting 30% from the total.
---
## Report Details ##
The report allows users to retrieve reservations based on a specified time period.DAO Class:
Complete the DAO class to fetch reservation data from the database using JDBC.
User Input View:
Develop an input form for users to enter a start and end date for the report.
Controller Class:
Created a controller to manage user inputs, process report logic, and display results.
Results View:
Designed a view to show the report results along with the input criteria.
File Output:
Implemented functionality to save report results to a file in the c:\cis2232\ directory, with a naming convention that includes the report type and current date (e.g., ReservationsForPeriodYYYYMMDDHHMM.txt).---
## Sprints and Assignment 4 ##### Sprint 1
- Initial version of the project created and checked into Bitbucket.
- Project name updated, and context path set.
- README created with project information, formatted neatly.
- Repository access granted to the learning manager.
- Team members added as collaborators.
- Color scheme implemented and demonstrated in the project.### Sprint 2
- Report functionality implemented, as specified in the README.
- JDBC used for fetching input and output result sets.
- Report content written to a file in the specified format.### Sprint 3
- Added list page functionality to the web application.
- Calculations completed when add/edit is submitted, showing detailed results to the user.
- Implemented functionality for adding, updating, and deleting entries in the web application.
- Enabled Spring validation for adding new entries.### Sprint 4
- REST services implemented to provide JSON data.
- Clients set up to call the REST services.
- Standard response codes implemented, including error handling for invalid inputs.
- Services provided for fetching all records, selecting one record, and performing create, update, and delete operations.
- SOAP service implemented to fetch a single entity by ID, along with a client to call the service.### Sprint 5
- Added search functionality to allow searching by non-primary keys on the list page. In this case by a name.
- Business validation rules implemented - validates date is not in the past for making reservations, having at least a senior or adult book and no children can be booked without an adult or senior.
- Unit tests created for calculation methods and input validation.
- Demo provided showcasing full application functionality.
- Repository, documentation, and project code reviewed for quality assurance.### Assignment 4: External API Access
- Integrated an external API to fetch additional information.
- Java client implemented to call the API.
- Web application modified to display results from the API call.---