Six-Project Series

REST Services with Spring and JPA you own this product

basic Java • basic Docker and Docker Compose • basic JSON • basic YAML • basic XML • basic SQL • IDE • Postman or equivalent software
skills learned
Make an application with Spring Boot, expose REST services with Spring Web, generate a SwaggerUI and OpenAPI docs with Springdoc, access a database with Spring JPA, manage database versions with Liquibase, Secure a REST API with Spring Security and OAuth 2, run an application in Docker Containers
Potito Coluccelli
6 weeks · 6-8 hours per week average · BEGINNER

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • share your subscription with another person
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!


5, 10 or 20 seats+ for your team - learn more

Take on the role of backend developer at BestInsurance, an insurance company that hopes to attract more customers by offering new life insurance policies. In this series of six liveProjects, you’ll extend the features of BestInsurance’s online portal by adding an API where customers can register and subscribe to the new policies. Using Spring JPA and Spring Web, you’ll build a basic Spring Boot application, create a persistence layer for it to preserve data, and implement RESTful create, read, update, and delete (CRUD) services that allow employees to manage and query data as needed. To improve the employee user experience, you’ll add REST services, such as pagination and aggregate functions, that decrease page latency. You’ll finish by securing the API with Spring Security, ensuring it meets BestInsurance's high standards. When you’re finished, you’ll have the experience and skills to implement production-ready, secure REST APIs using Spring Framework.

These projects are designed for learning purposes and are not complete, production-ready applications or solutions.

This project goes in depth in many important aspects of Spring Boot.

Rupa Lahiri, freelance software developer

liveProject author Potito Coluccelli shares what he likes about the Manning liveProject platform.

book resources

When you start each of the projects in this series, you'll get full access to the following book for 90 days.

choose your plan


only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • REST Services with Spring and JPA project for free

project author

Potito Coluccelli

Potito Coluccelli is a senior software engineer and team leader at Econocom in Italy, where he works on service-oriented architecture design and implementation as well as supporting customers as they transition from monolithic to microservice architectures. Previously he worked as a middleware consultant at Red Hat and supported companies in Italy and the EU with JEE application design, development, maintenance, and testing. With his team, he created a trade surveillance tool for Commodity Markets that’s been adopted by major energy providers in Italy.


These liveProjects are for beginner and intermediate Java programmers interested in learning how to design and implement REST services using Spring and JPA. To begin these liveProjects you’ll need to be familiar with the following:

  • Basic Java SDK 17
  • Basic Docker and Docker Compose
  • Basic PostgreSQL
  • Spring Boot 3.1.x stable version
  • Define and implement Maven and Gradle projects
  • Define and compose Docker containers
  • Model entity relationships
  • Define Spring Boot configuration classes
  • Define Spring Beans and Entity classes
  • Implement a Liquibase changelog
  • Define OpenAPI REST services
  • Define REST Services using Spring Web
  • Implement the DTO pattern
  • Perform integration testing using Spring Test
  • Implement custom queries
  • Implement aggregate functions, sorts, and native queries
  • Use Spring Security for authentication and role-based authorization

you will learn

In this liveProject series, you’ll learn to design and implement REST services using Spring and JPA.

  • Create and configure a "Containerized" Spring Boot application that saves data on a "Containerized" PostgreSQL database server
  • Create an object-relational mapping (ORM) with Hibernate and Spring JPA
  • Define and implement REST services using Spring MVC
  • Secure REST services with Spring Security


You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.