Master Fullstack - React, Fastify Node.js, Postgresql & TDD

Build Your First Full Stack Application With React, NodeJS & Postgresql. Learn How To Do TDD With NodeJS and React

4.25 (60 reviews)
Udemy
platform
English
language
Web Development
category
instructor
534
students
19.5 hours
content
May 2022
last update
$54.99
regular price

What you will learn

Master Everything Required To Build An End To End Enterprise NodeJS Application With React

How To Write Unit Testcases for NodeJS and React

Integration Testing With NodeJS - With Postgresql Database

How To Write Unit Testcases For Data Access Layer With Postgresql

How To Deploy NodeJS And React Application On Heroku

Continuous Integration And Continuous Deployment Using Github Actions

How To Dockerized NodeJS and React Application And Deploy Docker Container On Heroku

Maintain Docker Container And Development Process With Batect

Setup Of Redux ToolKit and Testing

How To Setup Swagger For Documentation

How To Maintain Data Migration Script In NodeJS Application

How To Setup JWT With NodeJS

How To Secure React Routes

How To Maintain JWT In React

Description

If you know the basics of Javascript, NodeJS and React, the next thing to do is learn how to setup enterprise level application and how to do test driven development and how to write clean code and What is the ideal workflow for developing full stack application.


Why am I focusing on Test driven development ?

Because TDD is a way to develop highly usable software. Following the TDD process, a developer must focus on the test cases before actually coding anything. ... As a result, the developer is more interested in the interface than in the implementation—and that leads to more usable software


In this course we will learn various things as mentioned below:

  • How to setup actual enterprise level workflow with CI/CD using Github Actions and deploy both application to Heroku and locally we will connect NodeJS application with Postgresql  docker container  and on prod we will connect with Postrgresql.

  • How to deploy both frontend and backend on server.

  • How to maintain different environment like DEV,PROD.

  • How to maintain database migration script and apply on Postgresql

  • How to document rest api with swagger.

  • How to write Unit and Integration testcases for NodeJS application.

  • How to write Unit testcases for Redux side.

  • How to write Unite testcases for React.

  • How to secure application with JWT

  • Learn How to setup Jwt based authentication with NodeJS and React


The most important thing that we will learn during this course would be test driven development with NodeJS and React & redux and while developing application we will learn best practice for frontend side and backend side.

Last and not least we will write production level code not less than that.

Content

Introduction

React - Code Walkthrough
Fastify NodeJS - Code Walkthrough
Project Codebase - Github Link

Fastify Node.js Project Setup With ESLINT BATECT

Fastify application setup - [Node.js]
Setup ESLint for Fastify node.js
Prettier Code Formatter Setup
Setup Jest Tests - Fastify Node,js
Install Git
Pushing fastify project to github
Jest ESLint plugin
Install OpenJDK - JDK
Introduction | Batect - development tasks - docker container
Dockerizing fastify application with Batect
Database Migrations SQL Script with db-migrate - POSTGRESQL
Apply migration with fastify - Postgresql
Connect Fastify application to Postgresql container- Batect development workflow
First Fastify POST Route
Fastify GET Route
PostgreSQL docker container volume mount
Fastify POST route integration test
Get Route Integration test
Local Setup for test execution
Running fastify application locally
Database Plugin unit testcase
Refactoring time

Introduction to JSON Schema

JSON Schema
Request body validation with JSON schema
Response body validation with JSON Schema
Fastify API documentation with Swagger

CI/CD: Continuous Integration & Delivery

What Is CI/CD and How Does It Work?
Setup Batect task for CI
Setup CI Job with Github Actions
Deploy fastify docker container on Heroku - Manually
Setup Postgresql on heroku and connect with fastify docker container
Setup CD JOB with Github Actions and deploy on heroku

User RestAPI endpoint - end to end Using TDD - Fastify

Test Driven Development Introduction
How to approach TDD in 3 layers based application
Added User table migration script
Understanding Optimistic Locking
User Repository with TDD
Added GET User by Id function in Repository with TDD
User Service and unit testing - TDD
Added GetUserById in service - TDD
Handling date with moment.js
Fix Red Pipeline - GO GREEN
User POST Route - Unite Testing
User POST Route Request Body Validation - JSON Schema
User GET Route with Unit testing - TDD
User Endpoints Integration Test
User Endpoints Testing With Postman

Job Feature endpoints with TDD - Fastify Nodejs

Job Table Migration Script
Job Repository Testcases. - TDD
Job Repository Testcases continue - TDD
Job Repository Implementation - TDD
Job Service implementation of save and getJobs using TDD
Job Post Route - testcases - TDD
Job Post Route Implementation - TDD
Job Get Route - TDD
Integration Test Of Job Routes
Job Endpoints Testing with postman

React Setup and Job Listing Page - React

React Setup
Layout and Header Component - React
Material UI Grid Explanation - React
How redux works ?
Job Reducer With Redux Toolkit
Integration of Job Slice to Job Container - React
Explanation Of CORS Issue
Job List and Item Component
Job List and Item Component Styling
Job Loading Skeleton - Material UI Skeleton
Load More option in Job Listing Page - React
Http Error Handling In React

React Testing Approach With Redux Toolkit and MSW (Http mock server)

Testing Approach Introduction
Job Container Loading State TestCase
Test Util for testing redux component
JobList Unit Testcase - MSW
Load More scenario (Pagination) testcases
Error Scenario TestCase

CI/CD - React Application

Upload React project to GIthub
CI Job - React
Deploy On Heroku Manually - React App
Multiple Env Config like Dev, Prod In React Application
Deploy React App On Heroku With Github Action

Application Security with JWT

JSON Web Token Introduction
Fastify Jwt Plugin
Login endpoint - Fastify
Secure Job Endpoints
Add Bearer Token
Router Setup - React
Login Testcases - React Testing Library
Login Form Implementation
Login Form - CSS
Login API request testcases
AuthProvider - Login testcases implementation - React
Http Request Interceptor - React
Error view - Material UI Snackbar
Add Register Route - React Router DOM
User Register Component Testcases - React
User Register's Testcases Impl
Register Form Validation Testcase - React
User Registration Form Submit Testcases - MSW
User Reducer And Integration With Registration Form
Display Current Logged In User and Logout Link On Header
Fixed Failing Testcase
Secure Private Route - Job Listing Page
Public Route - Login and Register Page

Thank You

What Is Next?

Screenshots

Master Fullstack - React, Fastify Node.js, Postgresql & TDD - Screenshot_01Master Fullstack - React, Fastify Node.js, Postgresql & TDD - Screenshot_02Master Fullstack - React, Fastify Node.js, Postgresql & TDD - Screenshot_03Master Fullstack - React, Fastify Node.js, Postgresql & TDD - Screenshot_04

Reviews

Sahil
June 8, 2023
First Test you wrote is not working correct and latest one is below: const build = require('../../src/app') test("default root route", async () => { const app = build(); const res = await app.inject({ url: "/", }); expect(res.json()).toEqual({ "hello": "Sahil's world!" }); }); test("default root route status code is 200", async () => { const app = build(); const res = await app.inject({ url: "/", }); expect(res.statusCode).toBe(200); });
Anam
October 5, 2022
Very simple language and perfect speed for a beginner. Shows the hard work put by the tutor for this video and his immense knowledge. It is helping me learn a lot. I really appreciate all the courses uploaded by Vikas.

Charts

Price

Master Fullstack - React, Fastify Node.js, Postgresql & TDD - Price chart

Rating

Master Fullstack - React, Fastify Node.js, Postgresql & TDD - Ratings chart

Enrollment distribution

Master Fullstack - React, Fastify Node.js, Postgresql & TDD - Distribution chart
4213202
udemy ID
7/30/2021
course created date
11/10/2021
course indexed date
Bot
course submited by