Full Stack Essential Training 2021: Front to Back
- 4.4
Brief Introduction
Build Full Stack Apps & Spring Boot & Spring Security & Java & MySQL & Docker & Angular & Typescript & Bootstrap & WebDescription
Hi there and welcome,
As part of this course you will build 3 independent complete systems
============================
System 1: Full Stack (back-end to front-end) REST based app - Spring Boot, Angular
Course structure:
Section 1:
short introduction about me
detailed explanation of the prerequisites for this course (Java JDK 1.8, Maven, Spring Tool Suite, Postman)
Section 2:
create the initial project structure for a Spring Boot RESTful Java Application
will learn how to include dependencies under our Maven based project
understand the correct way to structure an application based on its components
create a REST API to handle 5 main operations (CREATE, READ, UPDATE, SEARCH, DELETE) by working with User as the conceptual resource
work with Postman in order to create collection and invoke REST APIs
Section 3:
offers an introduction to Spring Data JPA and H2 In Memory Database support
will learn how to migrate a simple User model class to an Entity concept that will be handled by H2 Database
understand the step-by-step process to migrate all operations for the the User RESTful resource to Spring Data JPA storage
learn the correct way to refactor code in stages
Section 4:
introduces Spring Security basic concepts
add a custom Spring Security implementation to handle basic authentication and access to resources
learn how to encode passwords in Spring Boot
introduce Spring Data JPA pagination support for Find All Users API
implement a mechanism to provide an alternative search for Find User based on specific criteria
Migrate from H2 In Memory Database to MySQL Database
Move application to run under Docker environment
Section 5:
create an Angular 10 based application as the front-end section for our course
transform the course to a Full Stack application
implement Authorization Mechanism
include Login and Users components
add support of working with Angular Guards
include different UI components as part of integrating MDBootstrap UI framework
create Angular services and main infrastructure of communicating with the Spring Boot back-end application
============================
System 2: Build a fully functional contact form (back-end to front-end) + GMAIL integration
Course structure:
Even if you are new to this topic, or have some experience in the vast Web Development world, I will guide you on this step by step process of building this system.
So...what will we build?
We will create a complete and responsive contact form that will be capable of sending emails by using the GMAIL service integration support
What technologies/frameworks will we use for Front-end integration?
We will use Angular 10, Typescript and MDBootstrap Framework
What technologies/frameworks will we use for the Back-end integration?
Will work with Spring Boot, Spring Boot Mail Integration, and configure a testing GMAIL account that we can use for testing
What is the outcome of following this class you might ask?
You will understand the basic principles of working on a Full Stack Web Application (understand how the communication is made between a front-end app to a back-end server) - by following a real working example -> Building a contact form for a website
============================
System 3: Build a Java SE Desktop App with Swing, Spring and MySQL
Course structure:
I am happy to present you the step by step process of building a complete Hangman/Guess the word game simulator by using Java programming language.
In the following sections, you will get to interact with multiple components that are part of the Java Swing Framework, such as:
JFrame
JPanel
MouseAdapter
ActionListener
JMenu
JLabel
any many more
In terms of development, we will use one of the most popular frameworks on the market, that is Spring Boot, and as a database to store our data, we will connect Spring Boot with MySQL as a relational database.
Overview:
define a Java application using Spring Boot Framework;
setup a MySQL connection that will be required to retrieve random words from our database;
initialize all Spring related components that will allow working with MySQL by using Spring Data JPA technology
build the graphical user interface for our application
Please note that you have attached the source code of the project to just import it into your favorite IDE (I use under this course Spring Tool Suite IDE)
Enjoy
Requirements
- Requirements
- Basic understanding of Java, Spring, Angular and Typescript
- Willing to build a step by step Full Stack system from scratch
Knowledge
- Build a Full Stack Application that will manage users
- Understand how to structure a Spring Boot Application in different modules
- Learn to code by creating an application in a step-by-step manner
- Get an introduction to Spring Data JPA
- Analyse Spring Security concepts
- Implement custom Spring Security authentication mechanism
- Build both back-end and front-end projects in one course
- Work with latest Angular version (Angular 10)
- Learn to work with MDBootstrap framework (for building the UI project)
- Get to work with Typescript - superset of Javascript
- Create a graphical user interface using Java Swing
- Define several Swing related components and understand how to work with them
- Learn to build desktop apps in Java