Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Go Full Stack: Java, Spring Boot, Angular & Typescript
Rating: 4.2 out of 5(79 ratings)
438 students

Go Full Stack: Java, Spring Boot, Angular & Typescript

Build Your First Java Full Stack Application & Spring Boot & Spring Security & MySQL & Docker & Angular & Typescript
Created byAlexandru Rosu
Last updated 8/2023
English

What you'll learn

  • 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 Angular
  • 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

Course content

8 sections • 75 lectures • 8h 43m total length
  • Introduction3:56

    Build a complete full-stack rest api with Java, Spring Boot, Spring Security, Spring Data, Angular, TypeScript, and Bootstrap, including a Gmail-based email sender for the contact form.

  • REST Architecture Principles6:49

    Explore the principles of REST architecture, including HTTP methods, status codes, and the client-server model, and understand constraints like statelessness, caching, uniform interface, and layering.

  • Install Java JDK3:03
  • Setup Maven2:18

    Download and install Maven, extract the archive, and place it under a tools folder. Set environment variables and verify the installation with mvn -version to ensure Maven communicates with Java.

  • Configure Spring Tool Suite IDE3:48
  • Install Postman1:25

    Install Postman to enable invoking the rest api, select the 64-bit Windows option, run the executable, complete installation and configuration, and prepare the Postman app for use.

Requirements

  • Basic understanding of Java, Spring, Angular and Typescript
  • Willing to build a step by step Full Stack system from scratch

Description

Hello there,


As part of this course you will build 2 big complete systems as from scratch (entire flow presented) - as a step-by-step guide

============================

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

============================

Bonus:

Added a new section related to Java Collections Framework - Fast Interview Preparation

============================


Enjoy

Who this course is for:

  • Students that want to build a fully functional full stack application
  • Any person that has a passion for programming