Skip to content

SyntaxError-JARS/mulberryTavern_API_JJTN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project 1: My Restaurant Application - DUE: 06/03/22

Description

My Restaurant app was developed for a small restaurant that is looking to help streamline the ordering process for customers to help reduce costs. Customers can enjoy an seemless means to order directly with an account of their own at the restaurant in question, where Admins are capable of adding and updating the menu items. This RESTful application leverages a tomcat server to handle incoming requests to thoroughly tested services that must be persisted using Hibernate and Azure SQL services. This project includes a frontend that will be developed using ReactJS to handle user requests.

User Stories

As A: Admin

  • Add items to the menu
  • Update items to the menu
  • Delete items to the menu

As A: Customer

  • View all items on the menu without needing to Register or Login
  • Register/Update/Delete an account
  • Add/Update/Delete a credit card to be saved to my account
  • Make an order for a specific menu item
  • Add a comment to the order to request a change, if it is substitutable
  • Favorite an order
  • View past orders by date
  • Pay off your balance with your credit card

Optional User Stories for Customer:

  • Quickly reorder all orders on a specific date
  • Pay for a friends order
  • Filter menu by protein

Required Challenge:

In this project, you're presented with the challenge to learn and implement the use of Hibernate an ORM for java. Below are resources to help with understanding how to leverage hibernate in your project. Please talk with your partner and research as soon as possible. Make sure to ask questions and leverage any tool you can.

Optional Challenges:

  • Utilization of JWT for user authentication
  • Session-based caching to minimize calls to the database for already retrieved data
  • Implementation of Redux Toolkit on the frontend

Tech Stack

  • Java 8
  • JUnit
  • Mockito
  • Apache Maven
  • Hibernate
  • Jackson library (for JSON marshalling/unmarshalling)
  • Java EE Servlet API (v4.0+)
  • Azure SQL
  • ReactJS Frontend
  • Git SCM (on GitHub)
  • Azure WebApps (Potentially)

Functional Requirements

  • CRUD operations are supported for one or more domain objects via the web application's exposed endpoints
  • JDBC logic is abstracted away by hibernate
  • Programmatic persistence of entities (basic CRUD support) using hibernate

Non-Functional Requirements

  • Daily Commits to Github
  • Branching strategies implemented
  • 80% line coverage of all service layer classes
  • Generated Logging for ALL threshold level in your program
  • Mocking for unit testing
  • RECOMMENDATION! Use Trello or some kanban board to keep track of target goals. You can include your trainer on these.

Init Instructions

  • Create another new repostory within this organization for your API with the nameOfRestaurant_API_teamMemberInitials
  • Create another new repostory within this organization for your Frontend with the nameOfRestaurant_FE_teamMemberInitials
  • A README.md file in your repo describing the goal of this wedding planner, how to use it(the url endpoint calls), technologies used (with versions), ERD, how to initialize it, features and contributers. Optional: Include potential future goals of the project

Presentation

  • Finalized version of the web application must be pushed to personal repository within this organization by the presentation date (June 3rd, 2022)
  • 10-15 minute live demonstration of the web application; demonstration will be performed using your ReactJS FrontEnd to query your API's endpoints

About

P1 API by Jerry Jacob and Trung Nguyen

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages