Building an E-commerce Web Application with Spring Boot

prerequisites
Intermediate Java, Basic knowledge of Java IDEs, Basics of HTTP templating
skills learned
Spring application development, Web application security, Unit and integration tests, Securing applications with Spring Security
Alexey Nesterov
6 weeks · 4-6 hours per week · INTERMEDIATE
Look inside
In this liveProject, you’ll take on the role of a Java developer building an ecommerce web app for a small bakery. To support their business model of delivering cakes for breakfast, the bakery needs a bespoke solution that focuses on local delivery and one-click payments. Your challenge is 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. To do this, you’ll use the Spring and Spring Boot Java frameworks to build, test, and deploy your app. Every milestone in this liveProject includes a set of unit and integration tests, and basic user-interface tests, to help you to understand best practices of software testing.
This project is designed for learning purposes and is not a complete, production-ready application or solution.

book resources

When you start your liveProject, you get full access to the following books for 90 days.

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 who are new to the Spring framework. To begin this liveProject, you will need to be familiar with:

TOOLS
  • Intermediate 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, integration with external systems, and deployment.

  • Working with a backlog
  • Unit and integration tests
  • Securing applications with Spring Security
  • Front-end development with Spring MVC
  • Deploying an application with Docker to AWS Elastic Beanstalk

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.

project outline

Introduction

Prerequisites Test

New module

Get Started

1. Setting Up the Environment and Bootstrapping the Project

1.1. Setting Up the Environment and Bootstrapping the Project

Creating a Controller Class

Designing the View

1.2. Submit Your Work

2. Building Catalog

2.1 Building Catalog

Exploring Well-known Test Automation Concepts

Why Integration Testing?

Developing Web Applications

Persisting Data with Spring Data JPA

2.2. Submit Your Work

3. Add a Basket Feature

3.1 Add a Basket Feature

Processing Form Submission

3.2 Submit Your Work

4. User Registration and Login

4.1 User Registration and Login

Securing Spring

Creating a Custom Login Page

4.2. Submit Your Work

5. Login with Facebook

5.1. Create a Facebook App

5.2. Configure the OAuth2 Login

5.3. Update the Login Form to Include a "Log In with Facebook" Button

The OAuth Dance

OpenID Connect: A Standard for Authentication and Identity on Top of OAuth

5.4. Submit Your Work

6. Checkout

6.1. Create the PayPal Application

6.2. Create Test Accounts

6.3. Create an Order Using PayPal’s SDK

6.4. Complete Order

6.5. Configure the Application to Use the Sandbox or a Live PayPal Environment

Declaring Configuration Property Metadata

6.6. Submit Your Work

7. Packaging and Deploying the Application

7.1. Create the Docker Image

7.2. Run the App

7.3. Publish the Docker Image

7.4. Create and Configure an AWS Account

7.5. Create an AWS RDS Database

7.6. Deploy Cake Factory

Running Software in Containers

7.7. Submit Your Work

Summary

Project Conclusions

FAQs

Look inside

placing your order...

Don't refresh or navigate away from the page.
Manning Early Access Program (MEAP) In MEAP, you get immediate access to a liveProject under development, so you can participate while it is created, tested, and improved. Get started today, and pick up right where you've left off whenever we update the project!
liveProject $35.00 $49.99 self-paced learning
Building an E-commerce Web Application with Spring Boot (liveProject) added to cart
continue shopping
go to cart

Prices displayed in rupees will be charged in USD when you check out.