Mô tả

In this course, we will create a new project like online-book-shopping.


When I say online-book-shopping application, we can think of it like that we will have a book-list page. Somehow users or customers will see these book-lists and they can buy one of them. Of course, at the end of it, this purchase will be stored and displayed later.


And we will implement this project using Spring Boot, Angular, and PostgreSQL.


In our project, we will implement CRUD operations. These CRUD operations will be for users and books. We will use users for user sign-in, sign-up and authorization operations. And we will use the books for creating, editing, deleting book operations.


These CRUD operations will be requested from Angular. So on the backend, we will create an infrastructure for these CRUD operations and on the frontend, we will serve them with the user interface.


Our project goes on with User and book operations.

Our main operations will be user login, register, book-list, create-book, delete-book etc.

Also, we will go on with the role based application. So we will use different roles like “Admin”, “User”. Then we will provide different authorizations to these users according to the role.

And this all things will be provided with a secure way in both Angular and Spring Boot.


We will have two main components to implement our project.

These are server side and client side.


In Server Side:


Of course here, our main library will be Spring-boot. We will implement the whole infrastructure on the backend with the Spring boot. It will provide easy and fast configuration to us.


We will implement the Model view controller architecture on our project.


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


In Spring Boot, Data will be presented to the client as an API call so Spring Rest Controller will be used to handle it.


We will use PostgreSQL as Database. We can use other databases also but at the end of it we will deploy our codes to Heroku. Postgresql can be used on Heroku for free so we chose that.


We will also use Object Relational Mapping with Java Persistence API and Hibernate.


You know, We can map our database tables to objects with hibernate.


We will use JPA Repository and Crud Repository in Spring Boot.

So these repository templates will handle common database operations like save, update, find, delete.


With Spring Boot, we will also use Lombok library to clear code.

You know that we don't want to implement getter, setter, equals and hash code. So we can escape it using Lombok @Data or @Value annotation.


We will use Gradle To handle all dependencies on server side.


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.


That's all about Server side.


Let's talk about Client Side.


We will create an angular application on the client side and it will provide a cool user-interface. So we will create some pages like home-page, admin dashboard, login page and register-page. Then we will assign the server apis to these pages and we will consume and produce the data from the user-interface easily and user friendly.


On angular, we will also implement the model view controller architecture. We will use the cool features of typescript etc.


At the end of it, we will build it and we will serve it to heroku also. So at the end of the course, we will have a live application on production.


Last but not least, we will implement security and authorization on angular also. We will work with different roles and according to these roles, we will implement unauthorized and not-found pages on the user interface also.


We will see the details of them one by one.

Bạn sẽ học được gì

Yêu cầu

Nội dung khoá học

25 sections

Introduction

1 lectures
Introduction - Architecture of All System
06:18

Setting Up Development Environment

6 lectures
Download and Install Java 11+
02:25
Download and Install Intellij
02:32
Download and Install PostgreSQL
03:31
Download and Install Git
00:49
Download and Install Lombok on Intellij
01:20
Download and Install Postman
00:59

Overview for Basic Frameworks and Tools

5 lectures
Spring Boot Overview - Annotations, Beans, Configuration
07:42
Rest API Overview - Http Methods
04:02
SQL Overview - Basic CRUD Operations
02:49
Lombok Overview - Getter, Setter, Constructors
01:38
Git Overview - Git vs Github
17:00

Restful Web Services - Overview

3 lectures
@RequestParam Annotation and How does it work?
01:45
@PathVariable Annotation and How does it work?
01:29
@RequestBody Annotation and How does it work?
01:46

Spring Boot - Backend - Server Side

17 lectures
Source Code for the Backend
00:07
Overview - Architecture of Backend Project
05:02
Create Project with Spring Initializer
03:47
Why Did We Choose Gradle? Isn't Maven most common one?
01:48
Create Database on PostgreSQL with PgAdmin
04:58
Configure Database Properties on Application Properties
03:49
Entity Diagram
02:47
Implement The User Entity Model Class
08:09
Do you want to learn more about ID Generated Strategies? - Optional
20:35
Implement The Book Entity Model Class
03:52
Implement The Purchase Entity Model Class
04:00
Implement the User Repository Class with JPA CRUD Repository
06:39
Implement the Book Repository Class with JPA CRUD Repository
01:33
Implement the Purchase Repository Class with JPA CRUD Repository + Projections
04:47
Implement the User Service Class - Business Layer
06:05
Implement the Book Service Class - Business Layer
03:14
Implement the Purchase Service Class - Business Layer
03:16

Overview for Spring Security - Optional

3 lectures
What is Authentication?
03:42
What is Authorization?
04:29
How does Spring Security handle Authentication and Authorization?
10:41

Security Implementation

3 lectures
Load User by Username - User Details Service
12:06
Configure Security - Authentication Manager and HttpSecurity
10:09
Circular Reference Error - Spring Boot 2.6+
01:31

JWT Implementation

3 lectures
JWT Overview and Install JWT Libraries
03:14
JWT Helper Methods - Token Generation, Validation
12:49
Implement JWT Authentication Filter
05:54

Implement User Log In and User Sign Up

2 lectures
Authenticate User with Authentication Manager - Service
05:30
Create Endpoints for User Log In and User Sign Up - Controller
09:24

Internal API Implementation

3 lectures
Create Internal Authentication Filter
09:08
Create Connection between JWT and Internal Filters
04:52
Internal Controller Implementation
05:27

Other Endpoints - Rest Controller

2 lectures
Implement Book Controller - Rest Controller
05:38
Implement Purchase Controller - Rest Controller
04:47

Test Spring Boot Application

3 lectures
Postman Overview
05:30
How can we run Spring Boot Application?
03:11
Test the Endpoints with Postman
08:42

Multiple Spring Profiles - Development, Production

1 lectures
Create Spring Profiles for Development and Production
03:56

Cloud Deployment - Heroku

5 lectures
Heroku Overview
06:08
Heroku Configuration - Procfile, app.json
06:50
Github Commitment
05:24
Deploy to Heroku
06:06
Test Project with the Heroku URL
08:50

Setting Up Development Environment For Client Side

4 lectures
Install NodeJS
00:59
Install Angular CLI
00:43
Javascript Overview
04:58
Angular Overview
07:10

Client Side (Frontend) and Server Side Integration (Backend)

1 lectures
Integration - How can we reach to Backend on the Frontend?
00:53

Client Side Implementation

8 lectures
Source Code for the Frontend
00:00
Overview - Architecture of Frontend Project
02:49
Create Angular Project With Angular CLI
06:18
Getting Start to Angular Project - How angular works?
10:34
Configuration (BootStrap, Jquery, Font-Awesome...)
09:51
Create Component/Page Templates
11:17
Implement Router Module
14:19
Implement Error Pages - Not-Found and Unauthorized Pages
05:51

Structured Data - Typescript Models

4 lectures
Implement User Model TypeScript Class
03:37
Implement Book Model TypeScript Class
02:51
Implement Purchase Model TypeScript Class
02:46
Implement PurchaseItem Model TypeScript Class - DTO
01:48

Form Module, FormItem, FormGroup - SignIn and SignUp Forms

8 lectures
Authentication Service Implementation - Sign-in, Sign-out, Sign-up
14:19
Implement Register Page Component
07:32
Implement Register Page Html Part1 - Create Page Template
04:40
Template Driven Form vs Reactive Form - Register Page Html Part2
03:08
Implement Register Page Html Part3 - FormsModule, FormControl, FormGroup
11:13
Complete the Register Page Html Part4
04:21
Implement Login Page
05:56
Navigation Bar With Bootstrap - App Component
05:22

Guards

1 lectures
Implement Authentication Guard - Guard Types
11:21

Http and Observables

3 lectures
Observables Overview
04:21
Create Base Service Class - Inheritance in Angular
04:35
Implement Book Service
04:57

Admin Dashboard

7 lectures
Implement Admin Page Component
09:33
Create Book Modal and Implement Book Modal Component
03:15
Implement Book Modal Html
08:21
Create Book Form in Book Modal
10:23
Pass Events from Book Modal to Admin Component - Output Decorator
04:35
Implement Edit Book Action - Pass data from Admin Component to Book Modal
04:29
Implement Delete Book Action
02:26

Other Pages

3 lectures
Implement Purchase Service
03:44
Implement Home Page
12:50
Implement Profile Page
07:01

Production Configuration and Preparation

2 lectures
Environment Variables, System Variables and Custom Variables
10:24
Build Angular Application and Serve it via Express.js
10:40

Cloud Deployment - Heroku

4 lectures
Heroku Configuration - Procfile, app.json
05:07
Github Commitment
02:31
Heroku Deployment
03:42
Test Application from Heroku URL
02:00

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.