MERN Stack Development with GraphQL, Docker, Kubernetes and Firebase Cloud | Amar iSchool

MERN Stack Development with GraphQL, Docker, Kubernetes and Firebase Cloud

Beginner 0(0 Ratings) 13 Students enrolled
Created by Toukir Ahmed Last updated Mon, 26-Apr-2021 Bengali
What will i learn?
  • Full stack web development
  • Clear idea about React Hooks, Async/Await & modern practices
  • Hands-on Node JS API (Backend) Development
  • Learn to use Mongo DB
  • Hosting full-stack web site with Amazon AWS EC2
  • Full-stack web development using Kubernetes and Firebase Cloud

Curriculum for this course
54 Lessons 00:00:00 Hours
Javascript Overview Part 1
15 Lessons 00:00:00 Hours
  • Introduction to JavaScript
  • Introduction to command terminal and command line tools
  • What is a web server
  • NodeJs Install in Environment
  • NodeJs Installation in Windows
  • Setting up visual studio code
  • Running Javascript in Browser Console
  • Running Javascript in HTML
  • Running Javascript in NodeJs
  • Types in Javascript
  • Declaration of variables using var, let and const
  • Functions Traditional
  • Functions Fat Arrow
  • Variable Scope
  • Scope difference of variables declared with var, let and const
  • Arithmetic Operators
  • Comparision Operators
  • Assignment Operators
  • What is conditional statement
  • Conditional Operators If Else
  • Conditional Switch Statement
  • Conditional Ternary Operator
  • What is loop
  • while loop
  • do while loop
  • for loop
  • for in loop
  • for of loop
  • Difference of == equality and === strict equality
  • Truthy Falsy
  • What is Object Oriented Programming
  • Classes using traditional js functions
  • Classes using ES6 class syntax
  • Prototypes
  • Documentation
  • What is Synchronous Programming
  • What is asynchronous Programming
  • async await
  • Promises
  • Introduction to NodeJs
  • NPM Repositories
  • npm install, update and uninstall
  • Module Exports
  • Global Modules
  • Process Module
  • Command terminal input and output
  • Creating Command Terminal Tools
  • File System Module
  • Http Methods
  • Http Status Codes
  • Making http requests to third party services
  • Creating a simple http server
  • Serving Static Pages with http server
  • test
Requirements
  • Basic programming language
+ View more
Description

The demand for a full stack developer is growing day by day, but it is not easy to become. A full-stack developer is expected to be an expert in frontend and backend skills, as well as extensive knowledge of build tools and deployment workflow. To understand the MERN Stack building a real project will be great. By the end of the course, you will not only build a fully functional web application but also you are on the way to becoming a MERN Stack Developer.


Week
Day
Topic
1
Day 1
  • Introduction to JavaScript In

  • troduction to Console Terminal and Console Application

  • What is a web server?

  • Setting up Environment

    • Installation in Linux

    • Installation in Windows

  • Setting Up Visual Studio Code

  • Running Javascript in Different Environments

    • In Browser Console

    • In HTML Page

    • NodeJs Environment


Day 2
  •  Operators
    • Arithmetic Operators
    • Comparison Operators
    • Assignment Operators
  • Conditional Statements
    • What is conditional statement
    • If Else
    • Switch
    • Ternary operator
  • Loops
    • What is a loop?
    • While 
    • Do While
    • For loop
    • For in
    • For of
  • Difference of equals operators (== and ===)
  • Truthy and Falsy


Day 3
  •  Object Oriented Programming
    • What is Object Oriented Programming?
    • Classes using traditional js functions
    • Classes using ES6 class syntax
    • Prototypes
  • Documentation
  • What is Synchronous Programming?
  • What is Asynchronous Programming?
  • Async/Await
  • Promises

Weekly Assignment
Weekly Assignment 1

Live session
Live session 1
2Day 4
  •  Introduction to NodeJs
  • Node Package Manager (NPM)
    • NPM repositories
    • npm install, update and uninstall
  • Module Exports
  • Global Modules
  • Process Module

Day 5
  •  Command Terminal input and output
  • Creating Command terminal tools
  • File System Module


Day 6
  •  Http(s) Module
    • HTTP Methods
    • HTTP Status Codes
    • Making http requests to third party services
    • Creating a simple http server
    • Serving Static Pages with http server


Weekly Assignment
Weekly Assignment 2

Live session
Live session 2
3Day 7
  •  Code Debugging with Nodejs
  • Frameworks in NodeJs
    • What is a framework?
    • Web frameworks in NodeJs
  • What is an Express Server?
  • Generating a node express project

Day 8
  •  package.json file
  • Serving static files
  • CORS
  • Introduction to PostMan
    • What is PostMan?
    • Making get, post, delete and post requests
    • Setting up headers for a request

Day 9
  •  Query Params
  • Route Params
  • Express Middlewares
  • Playing around with express server using PostMan


Weekly Assignment
Weekly Assignment 3

Live session
Live session 3
4Day 10
  •  Express File App
    • Generate express app and setup route to upload and download files
    • base64 Encoding and Decoding
    • Implementation for file uploading
    • Implementation for downloading files from the url
  • AWS S3
    • Introduction to AWS S3
    • Uploading and Downloading files from AWS S3 platform
    • Connecting a nodejs application to an S3 bucket.

Day 11
  •  Implementation of of AWS S3 in Express File App
    • Setting up credentials to access s3 bucket
    • Uploading files from NodeJs application and responding with file url
    • Testing the application with PostMan
  • What is JWT?
  • Generating JWT tokens
  • Decoding JWT tokens
  • What is Authorization?
  • What is Authentication?

Day 12
  • What is Access Token?
  • What is Refresh Token
  • A JWT Authenticated Express Server
    • Route to create a new user with username and password
    • Route for user login (Authentication)
  • OAuth2
    • What is OAuth2?
    • Type of OAuth2 Flows
    • Authorization Grant Flow
    • Password Grant Flow
    • Implicit Grant Flow
    • Client Credentials Flow


Weekly Assignment
Weekly Assignment 4

Live session
Live session 4 
5Day 13
  •  MongoDB
    • Introduction to MongoDB
    • Differences between SQL and NoSQL Databases
    • Installation of MongoDB
  • MongoDB Operations
    • Creating a Database
    • Inserting, Deleting, Updating Operations
    • Find Queries


Day 14
  •  Setting up Robo 3T for Mongo GUI
  • MongoDB
    • Aggregate Queries
  • Mongoose
    • Schema Definition
    • Mongoose Model
    • Populate Refenced Collection Data


Day 15
  •  Connecting MongoDB server to Express app
  • Mongo Atlas

Introduction to MongoDB Atlas

Creating a Free Tier Cluster in MongoDB Atlas

Creating Databases

Connecting NodeJs App to MongoDB Atlas


Weekly Assignment
Weekly Assignment 5

Live session
Live session 5
6Day 16
  •  A simple CRUD express app using MongoDB (MongoDB Atlas)


Day 17
  •  Unit Testing
  • A simple Facebook Chat Bot
    • What is ngrok?
    • Setting up and running ngrok in your environment
    • Setting up Facebook App to send page messages to the localhost server
    • Express route to act as webhook for chat messages
  • Selecting messages for matched keywords
  • Responding with the reply message to the message sender.

Day 18
  •  A simple Facebook Chat Bot (Cont.)


Weekly Assignment
Weekly Assignment 6

Live session
Live session 6
7

Day 19

  •  Apollo GraphQL
    • Introduction to GraphQL
    • What is GraphQL Schema
    • What are GraphQL resolvers
  • Implementing GraphQL Schema
  • Setting up Express App with Apollo GraphQL
  • Implementing GraphQL resolvers


Day 20
  •  Apollo GraphQL Playground
  • Typescript
    • Intro to Typescript
    • Basic Types
    • Functions
    • Interfaces
    • Classes

Day 21
  •  Typescript (Cont.)
    • Enums
    • Generics
  • Playing with StackBlitz

Weekly Assignment

Weekly Assignment 7


Live session
Live session 7
8Day 22
  •  React
    • Intro to React
    • Components
    • States
    • Props
    • Component Lifecycle

Day 23
  •  React (Cont.)
    • React Context
    • React Hooks
    • useState
    • useEffect

Day 24
  •  React (Cont.)
    • External api request using fetch
    • React Forms
  • A Tic Tac Toe ReactJs App

Weekly Assignment
Weekly Assignment 8

Live session
Live session 8
9Day 25
  •  Integrating Apollo GraphQL with ReactJs
  • Simple MERN Stack App with Apollo GraphQL


Day 26
  • Simple MERN Stack App with Apollo GraphQL (Cont.)


Day 27
  •  Server-side Rendering with Next.js

Weekly Assignment
Weekly Assignment 9

Live session
Live session 9 
10Day 28
  •  React Apollo middlewares for request/response
  • Implementing JWT token refreshing in the React App


Day 29
  •  A simple Chat application with MERN Stack using Apollo GraphQL

Day 30
  •  A simple Chat application with MERN Stack using Apollo GraphQL (Cont.)

Weekly Assignment
Weekly Assignment 10

Live session
Live session 10
11Day 31
  •  Docker
    • Introduction to Docker
    • Docker Container Registry
    • DockerFile
    • Docker Image Build
    • Docker Container Run

Day 32

  •  Kubernetes
    • What is Kubernetes
      • Introduction to Kubernetes
      • Kubernetes Deployment
      • Kubernetes Service
      • Kubernetes Ingress
      • Kubernetes App Run

Day 33
  •  AWS Elastic Kubernetes Service
    • Introduction to EKS
    • Cluster Creation
    • Push the Docker image to Amazon Elastic Container Registry


Weekly Assignment
Weekly Assignment 11

Live Session 

Live Session 11

12Day 34
  •  Setting up Kubernetes Config Map for Environment
  • Deployment of both backend and frontend apps in kubernetes
  • Kubernetes service deployments for both apps
  • Kubernetes ingress load balancer deployment

Day 35
  •  HTTPS Implementation
  • HTTP to HTTPS load balancer
  • Socket.IO
    • Introduction to Socket.IO
    • Setting up Socket.IO with a react app
    • A chat application using socket.io with MERN Stack


Weekly Assignment 

Weekly Assignment 12


Live session
Live session 12
13Day 36
  •  Introduction to Firebase
  • Firestore
    • Introduction to Firestore
    • Setting up firestore with a NodJjs project
    • Simple NodeJs CRUD application using firestore


Day 37
  •  Firestore
    • Setting up firestore with a react application
    • Simple react CRUD application using Firestore

Day 38
  •  Firebase Realtime Database
    • Introduction to Realtime Database
    • Setting up realtime database with a web project
    • Implementing notifications in a project using firebase realtime database

Weekly Assignment
Weekly Assignment 13

Live session
Live session 13
14Day 39
  •  Firebase Authentication
    • Introduction to firebase authentication
    • A simple react application using firebase authentication (Google sign in, facebook sign in, etc.)

Day 40
  •  Firebase Hosting
    • Introduction to firebase hosting
    • Hosting a react application using firebase hosting


Day 41
  •  Introduction to Firebase Analytics
  • Setting up Firebase Analytics in a project

Weekly Assignment Weekly Assignment 14
Weekly Assignment 14


Live session
Live session 14
15Day 42
  •  Firebase Storage
    • Introduction to firebase storage
    • A simple project using firebase storage

Day 43
  •  Firebase Cloud Functions
    • Introduction to cloud functions
    • Creating a simple cloud function using nodejs
    • Deploying the firebase cloud function
    • Creating a simple crud backend service in function with NodeJs

Day 44
  •  A chat application using firebase realtime database

Weekly Assignment
Weekly Assignment 15

Live session
Live session 15
16Day 45
  •  Building a react app for forums using firebase cloud services

Day 46
  •  Building a react app for forums using firebase cloud services (Cont.)

Weekly Assignment
Weekly Assignment 16 

Live session
Live session 16
+ View more
Other related courses
00:00:00 Hours
Updated Wed, 03-Mar-2021
0 0 ৳3000
00:00:00 Hours
0 0 ৳5000 ৳2000
00:00:00 Hours
Updated Thu, 17-Jun-2021
0 0 ৳20000 ৳15000
About the instructor
  • 0 Reviews
  • 13 Students
  • 1 Courses
+ View more

Toukir Ahmed Shuva 

 

Full Stack Software Engineer at Experience Digital 

Former Full Stack Software Engineer at Twisker 

Former Software Engineer at SELISE rockin’ software 

(Over 4 years of experience)

Student feedback
0
Average rating
  • 0%
  • 0%
  • 0%
  • 0%
  • 0%
Reviews
৳14000 ৳20000
Buy now
Includes:
  • Beginner
  • Online class
  • Total time 80:00:00
  • 54 Lessons
  • Full lifetime access
  • Access on mobile and tv
  • Certificate after completion