Full Stack Project: Spring Boot 2.0, ReactJS, Redux
4.4 (973 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
5,996 students enrolled

Full Stack Project: Spring Boot 2.0, ReactJS, Redux

Build a Personal Project Management Tool from scratch
4.4 (973 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
5,999 students enrolled
Last updated 1/2020
English
English [Auto-generated]
Current price: $139.99 Original price: $199.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 25 hours on-demand video
  • 11 articles
  • 3 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Create a RESTful API with Spring boot
  • Secure a RESTful API with Spring Security and JWT web token
  • Create a web application with React
  • Consume a RESTful API with React/Redux
  • Deploy to Heroku
Requirements
  • Practical knowledge of the Java language syntax
  • Previous hands on experience with basic CRUD operations using the Spring framework, JPA, MySQL
  • Hands on experience developing and running Spring CRUD applications with one of the following IDE's: STS, IntelliJ, Eclipse
  • Familiarity with HTML, CSS, and JavaScript (ES6 Syntax is important)
  • Have local environment set up for Spring Framework - Spring boot development (Java 8, Maven, MySQL, MySQL Workbench)
Description

If you know the basics of java and the spring framework, the next thing to do is to keep on practicing! Building apps with real life features is a great next step in your journey to becoming a developer. The main benefits of this is that it sharpens your skills and helps you build your portfolio for prospective employers. In this course, we will build a prototype of a personal project management tool using Spring boot 2.0 in the backend, ReactJS and Redux on the front end.

These are some of the cool things we will work on:

We will build our REST APIs with Spring boot for CRUD operations

We will create our front end using ReactJS and Boostrap

And will use Redux and Thunk to manage the state of our application in the front-end

We will secure our application using JWT tokens

 

Last but not least we will deploy our application to Heroku’s free tier. This is a great opportunity to get practical experience with two amazing technologies that are highly desirable by prospective employers.

Who this course is for:
  • Students who have had hands on experience with the basics of Java and the Spring Framework looking to grow their new skills
Course content
Expand all 110 lectures 24:51:04
+ Introduction
5 lectures 35:01

Please note that this app works fine on: Firefox, Safari and Chrome. If you are on Chrome and it loads blank, then please install react dev tools and redux dev tools on Chrome.  You need Chrome and these dev tools to follow the course.

https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=en

https://chrome.google.com/webstore/detail/redux-devtools/lmhkpmbekcpmknklioeibfkpmmfibljd?hl=en

Please also note that this is a known issue in the React/Redux community: https://github.com/reduxjs/redux/issues/2359

I'll be investigating how to configure the store for Internet Explorer and Edge, but for now please use Chrome (with extensions) or Firefox (MacOS and Windows) or Safari (MacOS)

Preview 13:45
+ Spring Backend - Basic CRUD Operations - Project
14 lectures 02:13:03
IMPORTANT - READ THROUGH: About H2 Database
00:48
Custom Exceptions for Unique Project Identifiers -> branch7
19:04
Find Project by Identifier - branch8
14:37
Find All Projects -> branch9
05:13
Delete an existing project -> branch10
08:14
Update an existing project
04:20
+ React & Redux Front-end: Project CRUD Operations
26 lectures 05:38:28
first react component - branch12
10:35
Project and header components - branch13
08:03
Bringing Bootstrap 4+ - branch14
05:13
Style our Dashboard, Navbar, ProjectItem - branch15
10:32
React Router, first Functional component - branch16
16:13
AddProject Component - controlled form - branch 17
23:09
IMPORTANT: React + Redux Architecture and Support
14:49
Create Redux Store - branch18
19:56
Create Project from React - branch19
25:51
Get validation errors from Redux - branch20
19:16
Style validation errors with classnames - branch21
12:19
Get Projects - redux only - branch22
18:59
Get Projects - final step - branch23
23:02
"Update Project" use case architecture
06:21
Update Project form and route
12:17

Hi team; forgot to create branch25, my apologies! please use the commit ID b13741f to check the code committed for this lecture

Get Project by Id, Update use case part 1 - commit id: b13741f
19:17
Persist Project Object Updates - branch26
17:55
Handle Errors in UpdateProject.js - branch27
12:56
***BUG FIX*** Strange Update Behaviour
04:07
"Delete Project" Architecture
02:10
Delete an existing project - branch29
24:35
Refactor Delete Operation and Proxy
05:57
+ Add Project Tasks - Backend
14 lectures 03:14:36
Backlog and ProjectTask Entities - branch31
15:52
Entity Relationships: Project and Backlog - branch32
19:36
Backlog - ProjectTask relationship - branch33
07:19
Design discussion around creating a Project Task
09:57
Persist Project Task (Bug fix pending: setPriority) - branch34
20:15
***BUG FIX*** ProjectTask priority, projectIdentifier, PTSequence - branch35
06:46
Get Project Backlog (happy path) - branch36
16:10
***SET UP THE PROJECT TO USE MYSQL, NO MORE H2!***
05:40
Handle Project Not Found Exception / Project Tasks-branch37
23:28
Find ProjectTask by projectSequence (happy path)-branch38
15:46
Find ProjectTask by projectSequence w/Validation - branch39
11:38
Update project task (happy path)-branch40
12:45
Finish up with update validation and delete - branch41
19:19
***BUG FIX*** delete operation, improved backlog/project task rel - branch42
10:05
+ Add Project Tasks - React / Redux
17 lectures 03:51:07
Intro to Section, Demo of what we are implementing
03:23
***BUG FIX*** Import error in Backlog reducer - branch43
00:16
Types and Reducers for Project Tasks - branch43
08:16
Section designs and Folder Structure - branch44
05:24
Routes to ProjectBoard and AddProjectTask - branch45
21:19
AddProjectTask action ( :)path) AddProjectTask form controlled part 1 -branch46
19:04
AddProjectTask action ( :)path) AddProjectTask form controlled part 2 -branch47
12:18
Finish AddProjectTask action, handle errors part3 - branch48
10:11
Set up ProjectBoard, Backlog, ProjectTask components - branch49
08:21
Load ProjectTasks to the state - branch50
12:03
Load Project Tasks to UI step 1 - branch51
08:42
Organize Project Tasks by status and priority - branch52
15:35
ProjectBoard Algorithm - branch53
18:24
update Project task part 1 - branch54
25:34
Update Project task part 2 - branch55
22:01
Update Project task part 3- branch56
23:44
Delete Project Task - branch57
16:32
+ Secure our App: Spring Security + JWT
16 lectures 04:20:19
Intro to Spring Security Section
11:47
Initial Security Config - branch59
22:38
Create User Object, Validation, Repository, Service - branch60
10:28
User registration part 1 - branch61
19:44
User registration part 2 - branch62
08:59
User registration part 3 - branch63
10:02
JWT Provider pre-work - branch64
27:12
Token Generated!!! - branch65
22:52
Custom JWT filter to use our tokens - branch66
28:24
One: User to Many: Projects - branch67
12:39
Lock operations to specific User (Read and Delete) - branch68
17:57
Lock operations to specific User (Update) - branch69
26:04
User specific Create and Read Ops for Project Tasks - branch70
20:34
Find, Update, Delete Project task with Security - branch71
19:51
+ Secure our React App
11 lectures 03:45:43
Intro to Securing the React App, Security Components -branch72
21:37
User registration happy path - branch73
28:05
User registration with validation- branch74
11:05
SecurityActions and SecurityReducer - branch75
26:26
Login form - branch76
22:14
Handle Login logic - branch77
21:59
Handle routing for expired token - branch78
19:27
Dynamic header based on security state - branch79
18:32
Lock public routes when logged in - branch80
16:34
SecuredRoutes - branch81
17:17
Bug Fixes
22:27
+ Deploy to Heroku
7 lectures 01:12:45

Coming Soon

MUST READ: REQUIREMENTS FOR THIS SECTION
00:06
Step 1 - Connect Spring boot api to Clear DB
24:55
YOU NEED THIS FOR STEP 2
00:09
Step 2 - Deploy the Back-end to Heroku
11:09
Step 3 - Deploy with React build
16:23
POLYFILL CDN FOR STEP 4
00:07
Step 4 - Fix app to work with Internet explorer 11
19:55