Skip to content

vintonl/MidtermProject

 
 

Repository files navigation

Nom! Meal Plan Architect

JPA Full Stack Midterm Project

Week 11 Midterm Project at Skill Distillery - November 22, 2019

Built by:

This was a week-long sprint use Agile Methodologies to exceed the minimum viable product for our midterm assignment.

Overview:

This program is designed to be a full stack website application that creates, reads, updates and deletes user and recipe data from a database we built using MySQL Workbench and connecting with using Java Database Connectivity.

How to run:

First, the user enters the index page. The user can choose to:

  • Register as a user
  • Login if already a user
  • Search recipes (logged in or not logged in)

Demo Account:

A logged in user can:

  • Update their profile
  • Deactivate their profile
  • Add or remove recipes to their favorites list
  • Rate and make a review comment about a recipe
  • Remove the recipe review that they have made
  • Add a new recipe
  • Update any recipe
  • Deactivate a recipe they have created

The admin user can:

  • Remove a review even if they did not create the review
  • Remove any recipe even if they did not create the recipe

Admin Account:

Technologies used:

Java, Java Persistence API, Spring MVC & STS, Gradle, SQL, MySQL Workbench, HTML, CSS, Bootstrap, Apache, Tomcat, AWS, Atom, Git, GitHub, and Trello.

Topics implemented:

Dynamic Web Applications using Spring MVC.

Tomcat 8 on AWS EC2 Instance.

JSP Standard Tag Library to generate HTML.

CCS and Bootstrap to make it web and mobile-friendly.

Object-Relational Mapping (ORM).

Relational Database: SQL Database creation using MySQL Workbench.

Java Libraries: SQL, List, and handling exceptions.

Object-Oriented Programming in Java: Abstraction, Polymorphism, Inheritance, and Encapsulation.

Test Driven Development using JUNIT Juniper.

Lessons learned:

This project helped us better grasp the capabilities of Dynamic Web Applications by allowing us to better learn how to:

  • Build a multi-table database using MySQL Workbench.
  • Be an Agile development team
  • Use branching on Git/GitHub
  • Understand Spring Application Contexts.
  • Use the Java Persistence API to generate HTML.
  • Build a Dynamic Web Applications using Spring MVC.
  • CCS and Bootstrap to make it web and mobile-friendly.

Releases

No releases published

Packages

No packages published

Languages

  • Java 94.2%
  • CSS 5.8%