Udemy

Platform

English

Language

Web Development

Category

Step By Step Spring Boot Microservices and Cloud Deployment

Spring security, JWT, Retrofit, Heroku Cloud Deployment via Github, PostgreSQL, H2-Database, Hibernate, Lombok

4.75 (8 reviews)

Students

7 hours

Content

Aug 2021

Last Update
Regular Price


What you will learn

Spring Boot

Spring Security

Retrofit

Heroku Cloud Deployment

CI/CD with Github

Different Databases like PostgreSQL and In Memory H2-Database

Microservices vs Mono-service


Description

Hi guys,


In this course, we will talk about the architecture of our project.


In this course, we will create a project like product-ordering-application.

When we say product-ordering-application, we can think of it like that we will have a product-list page such as book-list, food-list or dress-list. Somehow users or customers will see these product-lists and they can buy one of the products. Of course, at the end of it, this transaction will be logged.

Actually, in our application, we will try to implement these processes with different microservices.


To implement this application, we will use three different microservices.

Our microservices will be api-gateway, product-service and transaction-service.


In api-gateway, we will manage APIs. This microservice will be a gateway for the whole application. To access the other services, we will use this microservice. In this microservice, we will handle user-management also. We will authorize users and if the users are authorized, other services can be available.


In product-service, we will manage product CRUD operations. This service will be a product-management-service.


In transaction-service, we will manage transaction CRUD operations. This service will store the logs coming from the product purchases. For example, the UserX bought the ProductX on DateX etc.


Our microservices dependency process will be like that. First of all, the client can access the api-gateway. To access the api-gateway, the client should pass the login process. Then other services will be accessible over the api-gateway.


Spring-security will be one of the main topics in our application. Also, we will use JWT to provide security.

Here, the important point is, we will also use secure connections among microservices. To provide it, we will use secure-key-tokens.


As a database, we will use PostgreSQL and H2Database. We can use other databases also but at the end of it we will deploy our codes to Heroku. These databases can be used on Heroku freely so we chose these databases.


We will provide connection between microservices with Retrofit library. Retrofit will handle all our networking issues.


For our all services, we will create cloud deployment with Heroku. Heroku is an amazing free framework. We can deploy our spring-boot projects with some configuration over github easily. So At the end of the course, we will have an application on production and we will have a code on github that is accessible by everyone.


In addition to these libraries, In our project, we will use lots of technologies like Spring Boot, Spring Security, Hibernate, PostgreSQL, Gradle, Lombok, Heroku etc.


Of course here, our main library will be Spring-boot. It will provide a simpler and faster way to set up, configure and database to provide data.


At the end of each microservices, we will test our applications with Postman. Postman is another amazing tool to debug networking.


That's all about the microservices architecture of our project.

Thank you.



Screenshots

Step By Step Spring Boot Microservices and Cloud Deployment
Step By Step Spring Boot Microservices and Cloud Deployment
Step By Step Spring Boot Microservices and Cloud Deployment
Step By Step Spring Boot Microservices and Cloud Deployment

Content

Introduction

Introduction - Architecture of All System

Advantages and Disadvantages of Microservices

Setting Up Development Environment

Download and Install Java 11

Download and Install Intellij

Download and Install PostgreSQL

Download and Install Git

Download and Install Lombok on Intellij

Download and Install Postman

Overview for Basic Frameworks and Tools

Spring Boot Overview - Annotations, Beans, Configuration

Rest API Overview - Http Methods

SQL Overview - Basic CRUD Operations

Lombok Overview - Getter, Setter, Constructors

Git Overview - Git vs Github

Restful Web Services - Overview

@RequestParam Annotation and How does it work?

@PathVariable Annotation and How does it work?

@RequestBody Annotation and How does it work?

Microservice 1 - Product Service

Source Code for the Product Microservice

Overview - Architecture of Microservice

Create Project with Spring Initializer

Why Did We Choose Gradle? Isn't Maven most common one?

Create Database on PostgreSQL with PgAdmin

Configure Database Properties on Application Properties

Implement the Product Entity Class

Do you want to learn more about ID Generated Strategies? - Optional

Implement the Product Repository Class with JPA CRUD Repository

Implement the Product Service Class - Business Layer

Implement the Product Controller Class - Rest API

Overview for Spring Security - Optional

What is Authentication?

What is Authorization?

How does Spring Security handle Authentication and Authorization?

Product Microservice - Security Implementation

Implement Security on the Product Microservice

Test Spring Boot Application

Postman Overview

How can we run Spring Boot Application?

Test the Endpoints of Product Microservice with Postman

Multiple Spring Profiles - Development, Production

Create Spring Profiles for Development and Production

Cloud Deployment - Heroku

Heroku Overview

Heroku Configuration - Procfile, app.json

Github Commitment

Deploy the Product Microservice to Heroku over Github and Testing

Microservice 2 - Transaction Service

Source Code for the Transaction Microservice

Overview - Architecture of the Transaction Service

Create Project with Spring Initializer

Configure Database Properties on Application Properties

Implement the Transaction Entity Class

Implement the Transaction Repository Class with JPA CRUD Repository

Implement the Transaction Service Class - Business Layer

Implement the Transaction Controller Class - Rest API

Implement Security on the Transaction Microservice

Test Transaction Microservice

Test the Endpoints of Transaction Microservice with Postman

Cloud Preparation and Deployment - Transaction Microservice

Multiple Spring Profiles - Development, Production

Heroku Configuration - Procfile, app.json

Github Commitment

Deploy the Transacttion Microservice to Heroku over Github and Testing

Microservice 3 - Gateway Service

Source Code for the Gateway Microservice

Overview - Architecture of the Gateway Service

Create Gateway Project with Spring Initializer

Create Database for Gateway on PostgreSQL with PgAdmin

Configure Database Properties on Application Properties

Implement the User Entity Class

Implement the User Repository Class - JPA CRUD Repository

Implement the User Service Class - Business Layer

Implement Security on the Gateway

Load User by Username - User Details Service

Configure Security on the Gateway - Authentication Manager and HttpSecurity

JWT Implementation

JWT Overview and Install JWT Libraries

JWT Helper Methods - Token Generation, Validation

Implement JWT Authentication Filter

Implement User Log In and User Sign Up

Authenticate User with Authentication Manager - Service

Create Endpoints for User Log In and User Sign Up - Controller

Microservice Communication - Retrofit

Retrofit Overview and Install Libraries of Retrofit

Gson Configuration - Serialization and Deserialization

Retrofit Configuration - Create Secure Connection Over OkHttp

Communication with Product Microservice - Retrofit

Configuration and Implement Product Microservice Endpoints with Retrofit

Execute Endpoints of the Product Microservice - Service Layer

Create Gateway Endpoints for the Product Microservice - Rest Controller

Communication with the Transaction Microservice - Retrofit

Configuration and Implement Transaction Microservice Endpoints with Retrofit

Execute Endpoints of the Transaction Microservice - Service Layer

Create Gateway Endpoints for the Transaction Microservice - Rest Controller

Test Gateway Microservice

Test the Endpoints of Gateway Microservice with Postman

Cloud Preparation and Deployment - Gateway Microservice

Multiple Spring Profiles - Development, Production

Heroku Configuration - Procfile, app.json

Github Commitment

Deploy the Gateway Microservice to Heroku over Github

Test Production Endpoints with Postman


Reviews

N
Nick26 May 2021

This is a good overview of microservices. It's only 7 hours long, so I didn't expect any more than this. If you need more than an overview then you'll need a longer, more in depth course.


4003946

Udemy ID

4/24/2021

Course created date

5/7/2021

Course Indexed date
Bot
Course Submitted by