The java bootcamp project is a basic java webapp, Using SpringMVC, AngularJS, managed by Maven, and run with a Jetty plugin. Persistence mocked by a static collection.
A full introduction on standing up a tech-stack like this can be found here Spring MVC 4 RESTFul Web Services CRUD Example: https://websystique.com/springmvc/spring-mvc-4-restful-web-services-crud-example-resttemplate/
This architecture was chosen for it's simplicity to introduce those new to Java to a web app and explore basic REST concepts.
The 'mgl-webapp' module is the starting module full of issues for the bootcamper to clean, fix, and upgrade. The starting module was built by someone completely new to Java.
The 'mgl-webapp_review' module is the completed solution module, which provides a more standards-compliant view of the same project, with a completed CRUD feature, and implemented unit tests.
As bootcampers progress through the bootcamp they:
- Fork the Project
- Clean the code of non-conforming Java
- Implement a DAO by moving the static list out of the Service, and finishing CRUD methods either with loops or streams to interact with the list.
- Use HTML, JS, and Java, connected to the Java Service in the prior task to complete the basic CRUD feature of the games list.
It's important to note that bootcampers are going to have wide experiences with the project. Those learning Java, HTML/CSS, and JavaScript from scratch should spend more time drilling the languages, and use this as an aspirational example to guide their learning, while experienced bootcampers could completely reform the project, or create new task modules to demonstrate what they are ready to do.
Visit the Bootcamp Companion Project Documentation Page - https://atc-custom-bootcamp.github.io/java-companion-project/ Documentation written in HTML is hosted in this repository in the "docs" module. This is a great place for bootcampers who are new at HTML,CSS, and JS to apply foundational web concepts.