MERN STACK STANDARD COURSE CONTENTS
(DURATION 19 DAYS)
Prerequisite - Participants must have a good understanding of Database, HTML, JS,
Jquery & Bootstrap.
Course Objectives -This course will offer a deep dive into Web Application Development & Mobile-Based Application Development. Also, the participants will have full exposure of RESTFUL Services or REST API. Will understand the complete CRUD operation using the MEAN Stack.
Lab Setup Details :
Hardware requirement:
CPU : I4/I5 , Hard Disk : 50GB , RAM :8 GB
Software Requirement:
- XAMPP https://www.apachefriends.org/download.html (DOWNLOAD VERSION
5.6.31)
- MSOFFICE 2010
- NOTEPAD++ https://notepad-plus-plus.org/download/v7.5.1.html (DOWNLOAD
VER 7.5.1)
- SUBLIME TEXT3 https://www.sublimetext.com/3
- Visual Studio Code https://code.visualstudio.com/download
- PDF READER https://adobe-reader.en.softonic.com/download
- Browser Google Chrome OS Window 10
MongoDB (5 days)
Overview - SQL/NoSQL
- Datastore design considerations
- Relational v/s NoSQL stores
- Entities, Relationships and Database modelling
- When to use Relational/NoSQL
- Relational Storage Structures
- Categories of NoSQL stores
- Examples of NoSQL stores
- NoSQL Storage Structures
Data Formats
- What are Data Formats
- Difference between Data Formats and Data Structures
- Serializing and de-serializing data
- JavaScript Fundamentals
- The JSON Data Format
- BSON Data Format
- Advantages of BSON
Introduction to MongoDB
- Key Features of MongoDB
- Installing MongoDB
- Starting and Stopping the server
- Important file system locations
- Using the shell
- Integrating with other languages
MongoDB Concepts
- Servers
- Connections
- Databases
- Collections
- Documents
- Fields
- Indexes
MongoDB CRUD
- A look at a few use cases
- Insert (C)
- Simple Query Examples (R)
- Update (U)
- Remove (D)
Indexing
- Capped Collections
- Setting up Profiling
- Indexing concepts
- Types of Indexes
- Indexes covering queries
Querying MongoDB
- Query Expression Objects
- Query Options
- Cursors
- Mongo Query Language
- Dot Notation
- Full Text Search
- Cursors
- Adding Custom JavaScript
Advanced querying
- Joins
- Server-side v/s Client-side querying
- Retrieving a subset of fields
- Conditional operators
- Aggregation
- Grouping
- Projections
Replication
- Why Replication?
- Difference between replication and backup
- Replication Setups
- Master/Slave Replication
- Replica sets
- Setting up an Arbiter
- Failover
- Using data for replication analysis
- Oplogs
- Heartbeats
- Removing replica set members
- Overriding the default sync target
- Write concerns Dummy Project
ReactJS (5 days)
Introduction
- Functions as first-class objects
- ES6 Concepts
- Pure functions
- Webpack
Setting up the Dev environment
- Webpack
- Webpack HMR
- React Developer Tools Chrome Extension
Introduction to React
- Evolution of client-side MVC and component-based architectures
- Hello World
- Introduction to JSX
- Component based architecture
- Composing Components
- Props and States
- Component life cycle
- Lists and keys
- Handling events
- Forms
Getting into depth
- Type checking with prop types
- Controlled components
- Parent to child and child to parent communication
- State management challenges, Observer pattern and Event Emitters
- Communication across the component hierarchy
- refs and context
- React Hooks
- Context APIs
- Error Boundaries
- Optimizing Performance in React
- Code Splitting
- Suspense
Patterns
- Mixin pattern
- Container and Presentation Components
- Higher Order Components
- Composition vs Inheritance and comparison of paradigms
- Anti-patterns
Integrating 3rd party components
- React-select case study
- React data grid React Router
- Introduction to Routing and History APIs
- Introduction to React Router
- URL parameters
- Redirects
- Link component
- history manipulation
State management
- Need for state management
- Redux (without React)
- React with Redux
- Mobx
- Comparison of different state management solutions
React Testing
- React Test Utilities
- Shallow rendering
- Jest
- Enzyme
- Mocha
NODEJS (5 days)
JS in the Server
- A short history of Javascript
- Javascript in the server
- Difference between JS as a programming language and JS in the browser
Installation
- Node.js as a Javascript shell
- Node.js Hello World
- Reading command line arguments
- Working with Console APIs
Sync v/s Async
- Synchronous programming
- Asynchronous programming
- Event driven, single-threaded server
- Multi-threaded server
- Async gotchas (or things to remember when using Node)
- Cluster APIs
- Async module
File System APIs
- Reading files
- Writing files
- Synchronous v/s Asynchronous operations
- Working with directories
- Buffers
Modules
- Built-in modules
- Writing your own modules
- Installing 3rd party modules using npm
- Forever
- ExpressJS
- SocketIO
Misc (skim)
- Debugging Node.js apps
- Timers
- Deploying Node.js apps
- Exception Handling
- Logging Dummy Project
Express JS (4 days)
Getting Started
- Installation
- What is Express?
Routing and URL Building
- Basic routing in an Express application
- HTTP method
- Using dynamic routes
Middleware
- What is “Middleware”?
- Learn to write a simple middleware function
Templating
- Understanding Templating
- Installing templating engine for Express
- Using template engines with Expres
- Using Pug – a case study
Database Integration in Express
- Learn to connect databases to Express apps
- Connecting to MongoDB – a case study
RESTful APIs
- REST principles
- RESTful URIs and methods
- Creating API in Express
Scaffolding
- What is Scaffolding?
- Scaffolding tools for Express
Error handling and Debugging
- Error handling in Express using middleware
- Functions for error handling
- Express Debug module
LIVE PROJECT BASED ON MEAN STACK WITH DEVOPS
Download Course Content || Request For the Training || My KeySkills || Contact Me