Awesome
Spring Boot / Spring Data JPA: A Reference Application
Overview and History
This project is a revisit of one that I did a few years back in 2014 when I took part in the Coursera Specialization on Android Development.
During the final Capstone class, we were given the choice of several projects to implement and I chose one that was both interesting and had a personal connection: an application to help cancer patients self-report on their pain symptoms so that their doctors could be notified of extended durations of persistent pain or the inability to eat. In theory, this could help doctors to directly interact with their patients much more quickly and hopefully identify issues before letting them get out of control.
A brief article about the original project was published on the Vanderbilt School of Engineering's web site.
My original server-side implementation of the Capstone project was also my first real interaction with Spring Boot and since then, I've always felt that there many improvements that I could have made.
Below are links to my development journal with more detailed information about the challenges and decisions that I made during the ongoing implementation of the project:
My Development Journal
- Bootstrap the Application
- Start with the Domain
- Create a Repository
- Create a REST Controller
- Add a Patient via POST
- Extending the Patient Model (Part 1)
- Extending the Patient Model (Part 2)
- TBD
Additional Resources
- Spring Boot Reference Guide
- Spring Data JPA
- QueryDsl
- Hibernate ORM
- Hibernate Validator
- Jackson
- H2 Database
- AssertjJ
NOTES
cf curl /v2/apps/{app-id}/instances/{instance-index} -X 'DELETE'
License
Copyright 2016-2018 Shawn Sherwood
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.