What you’ll learn
- Spring Boot
- Full Stack Development with Spring Boot and Angular
- Cloud Deployment for Java and NodeJS
- Heroku Cloud Deployment
- Learn the basics of Angular – Angular Modules, Components, Data Binding and Routing
- Role Base Authorization and Authentication
- Use Spring Security to configure Basic Authentication and JWT
- Learn the magic of Spring Boot – Auto Configuration, Spring Initializr and Starter Projects
- RXJS Observables and Observers
- Basic Java knowledge
This Java Full Stack Spring Boot and Angular (Inc. JWT + Cloud course involves creating a new project such as online-book-shopping.
When I describe the online-book-shopping application, I mean that we will have a book-list page. It will be possible for users or customers to see these book lists and buy the book they want. It is likely that this purchase will be displayed at a later date after it has been completed.
Spring Boot, Angular, and PostgreSQL are our tools for implementing this project.
As part of our project, we will perform CRUD operations. User management and book management operations will be included in this CRUD process. User accounts will be used for sign-in and sign-up operations as well as authorization. As well as creating, editing, and deleting books using the books.
An Angular request will be made for these CRUD operations. In this way, we will build an infrastructure to handle these CRUD operations on the backend, while rendering the user interface on the frontend.
We are continuing with the book and user operations of our project.
The main operations will be user login, registration, book listing, creation, and deletion of books.
As well, we will continue to work on the role-based applications. Therefore, different roles will be created such as administrator and user. In subsequent steps, we will grant these users different authorization rights according to their roles.
The Angular and Spring Boot frameworks allow all this to be done with a secure way.
Throughout the implementation of our project, we will have two main components.
These are server side and client side.
In Server Side:
It goes without saying that Spring-boot will be our main library. The Spring boot framework will be used to implement the backend infrastructure. It provides us with easy and fast configuration.
We will implement the Model view controller architecture on our project.
Spring-security is one of the key topics for our application. Additionally, 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.
As a database, we will be using PostgreSQL. We can also use other databases, but at the end of this process we will deploy our codes to Heroku. Heroku offers free access to Postgresql, so we chose to use it.
Additionally, we plan on using Java Persistence API and Hibernate with Object Relational Mapping.
It’s true, we can map database tables into 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.
Our entire service portfolio will be deployed in the cloud via Heroku. Sheroku is one of the best free frameworks out there. The deployment of spring-boot projects can easily be achieved over github with some configuration. By the end of the Java Full Stack Spring Boot and Angular (Inc. JWT + Cloud course, we will have an application in production and a repository of code on github that can be accessed by everyone.
That’s all about Server side.
Let’s talk about Client Side.
This application will allow us to create a cool user interface on the client side by implementing an Angular application. Our first step will be to create some pages such as the home page, the admin dashboard, the login page, and the registration page. Then we’ll assign the server APIs to these pages and we’ll be able to consume and produce the data from the user interface easily and efficiently.
On angular, we will also implement the model view controller architecture. We will use the cool features of typescript etc.
The final result will be built, and the service will be served to Heroku as well. Having a live application at the end of the Java Full Stack Spring Boot and Angular (Inc. JWT + Cloud course is a great way of demonstrating what we’re learning.
As a final step, we will also implement security and authorization for Angular. Our team will be working with different roles, and we will implement unauthorized and not-found pages on the user interface based on these roles.
We will see the details of them one by one.
Who this course is for:
- All developers curious about Java and NodeJS
Created by Senol Atac
Last updated 8/2021
Size: 4.2 GB