Six-Project Series

Build an e-commerce Web Application with Spring Boot you own this product

prerequisites
intermediate Java • Java IDEs • basics of HTTP templating • basics of SQL
skills learned
front-end development using Spring MVC • HTML and CSS • accessing relational databases with Spring data • configuring Spring security to store user details in PostgreSQL • using third-party SDKs
Alexey Nesterov
6 weeks · 8-10 hours per week average · INTERMEDIATE

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • 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!

team

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


In this liveProject, you’ll take on the role of a Java developer building an ecommerce web app for a small bakery. To support its business model of delivering cakes for breakfast, the bakery needs a bespoke solution that focuses on local delivery and one-click payments. Through the liveProjects in this series, you’ll work to create a minimal viable product for the store and then iterate on it with new business features such as a shopping basket, Facebook login, and PayPal checkout. You’ll use the Spring and Spring Boot Java frameworks to build, test, and deploy your app. Every project in this series includes a set of unit and integration tests, and basic user-interface tests, to help you understand best software testing practices.

UPDATED: July 2023 to use the latest versions of Java, Gradle, and Spring Boot; and updated instructional text throughout all the projects.

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

here's what's included

Project 1 Build a Catalog

In this liveProject, you’ll build a product catalog for an ecommerce application. You’ll learn how to load data from a database and display it on an HTML page, and use integration tests to properly understand your model and ensure its accuracy. At the end, you’ll have a fully functional Spring application that loads data from the database using Spring Data JPA and displays it using Spring MVC.

UPDATED: July 2023 to use the latest versions of Java, Gradle, and Spring Boot; and updated instructional text throughout all the projects.

Project 2 Add a Basket

In this liveProject, you’ll build a shopping basket that stores data in a user session. You will learn how to use sessions in Spring MVC, handle HTML forms, and use different bean scopes in Spring Framework. At the end, you will have a basket feature added to the website, so users can add items from the catalog.

UPDATED: July 2023 to use the latest versions of Java, Gradle, and Spring Boot; and updated instructional text throughout all the projects.

Project 3 User Registration and Login

In this liveProject, you’ll create a user registration form that allows users to specify their delivery address and use that address at checkout. You’ll use Spring Security to configure a form-based user registration and login, set up password controls, and store user details in PostgreSQL.

UPDATED: July 2023 to use the latest versions of Java, Gradle, and Spring Boot; and updated instructional text throughout all the projects.

Project 4 Login with Facebook

In this liveProject, you’ll set up a Facebook and social media sign on option for your eCommerce store using the Spring Security OAuth2 module. You’ll configure Spring Security for login using the OpenID authentication protocol, and fully create the functionality to login using a Facebook account and manage a profile without needing a new username and password.

UPDATED: July 2023 to use the latest versions of Java, Gradle, and Spring Boot; and updated instructional text throughout all the projects.

Project 5 Checkout

In this liveProject, you’ll set up everything needed for reliable ecommerce checkout. You’ll integrate one-click payment options, create a PayPal developer account and user accounts for testing, and integrate with the official PayPal SDK.

UPDATED: July 2023 to use the latest versions of Java, Gradle, and Spring Boot; and updated instructional text throughout all the projects.

Project 6 Package and Deploy

In this liveProject, you’ll package your application as a Docker image that’s ready for easy deployment. You’ll use Spring Boot to package your app to Docker, and then deploy to AWS with Amazon RDS and Beanstalk. Finally, you’ll reimplement functionalities for a Facebook login and configure HTTPs.

UPDATED: July 2023 to use the latest versions of Java, Gradle, and Spring Boot; and updated instructional text throughout all the projects.

choose your plan

team

monthly
annual
$49.99
$499.99
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
  • Build an e-commerce Web Application with Spring Boot project for free

project author

Alexey Nesterov
Alexey is a software engineer in the Spring Cloud Services team at VMware. His work involves a fusion of DevOps and software engineering, to bring a fully managed Spring Cloud offering to modern cloud platforms. With years of experience as a software engineer and consultant, he is a fan of the lean approach to software development, extreme programming, test-driven development and Spring ecosystem.

Prerequisites

This liveProject is for experienced Java developers new to the Spring Framework. To begin this liveProject, you will need to be familiar with the following:

TOOLS
  • IIntermediate Java
  • Java IDEs such as Eclipse, IntelliJ IDEA, or Visual Studio Code
  • Basics of HTTP templating, HTML, and CSS
TECHNIQUES
  • Basics of OAuth2 protocol
  • Basics of web technologies, such as HTTP templating, HTML, and CSS
  • Relational databases (SQL)

you will learn

In this liveProject, you’ll learn best practices of modern Spring application development, including web development, securing web applications, integrating with external systems, and deploying.

  • Front-end development using Spring MVC, HTML, and CSS
  • Accessing relation data in Postgres using Spring Data
  • Creating database migrations using Flyway
  • Configuring Spring Security form login
  • Setting CSRF protection
  • Configuring Spring Security to store user details in PostgreSQL
  • Configuring password encryption
  • Configuring Spring Security OAuth2 login
  • Creating Facebook OAuth2 app
  • Use third-party SDKs in web development
  • Maintain state between multiple requests
  • Support different configurations for production and testing
  • Understanding fundamentals of container technologies
  • Configuring Amazon Relational Database Service (RDS)
  • Deploying Spring Boot app into Amazon Elastic Beanstalk
  • Reconfiguring an application database connection in production

features

Self-paced
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.