Course Overview
Course Content
- Testing
- Why should we perform testing?
- Types of testing
- Testing Angular application using Jasmine and Karma
- Maintaining application code using Git
- Version control system
- Why should we use Git?
- Git file workflow
- Running application on the production server: Nginx
- Architecture of Nginx
- How to configure Nginx?
- Deployment of an application using Docker
- Problems before containers
- How containers solve the problems
- What is Docker?
- Docker file
- Docker image
- Docker containers
- Docker hub
- Basic Docker commands
- Hands-On
- React Elements
- Render Function
- Components
- Class Component
- Component Constructor
- Functional Components
- Multiple Components
- Props
- Props with Class-based Component
- Props with Function based Component
- States
- Component Lifecycle
- React Events
- React Forms
- Different Form Concepts
- Styling in React
- Inline Styling
- CSS Stylesheet
- Building Music Shop Application using React Components
- Hands-On
- Routing
- react-router
- Features of react-router
- Configuration of routing using react-router
- Navigation using Links
- 404 page (Not found Page)
- URL Parameters
- Nested Routes
- Implementing styles using NavLink
- Application Programming Interface
- Build a REST API using JSON-server
- API consumption in React application using Fetch method
- Build a dynamic Music Store application using Routing and API connectivity
- Hands-On
- Need of Async operations
- Async Workflow
- Action Creators
- How to write Action Creators?
- Handling Async Actions via Reducers
- Middleware
- Redux-Saga
- Generators in Redux-Saga
- Saga Methods()
- Major Sections of Redux-Saga
- Building a Product List application using Redux-Saga Middleware
- Debugging application using Redux Devtools
- Hands-On
- Caveat of JavaScript classes.
- Functional components and React hooks
- What are React hooks?
- Basic hooks
- useState() hook
- How to write useState() hook when the state variable is an array of objects
- useEffect() hook
- Fetch API data using useEffect() hook
- useContext() hook
- Rules to write React hooks
- Additional hooks
- Custom hooks
- Hands-On
- What is GraphQL?
- Cons of Rest API
- Pros of GraphQL
- Frontend backend communication using GraphQL
- Type system
- GraphQL datatypes
- Modifiers
- Schemas
- GraphiQL tool
- Express framework
- NPM libraries to build the server side of GraphQL
- Build a GraphQL API
- Apollo client
- NPM libraries to build client side of GraphQL
- How to setup Apollo client
- Hands-On
- Native modules
- Native Navigation libraries
- Integration of Redux with React Native
- React Native and Redux major components
- Redux Thunk middleware
- NPM libraries
- Shopping cart application using React Native and Redux
- Integration of Redux actions, store, and reducers In React Native application
- Hands-On
- Get Input from Users
- Pass Multiple Arguments with Yargs
- File System Module
- Operations associated with File System Module
- JSON Data
- HTTP Server and Client
- Sending and receiving events with EventEmitters
- Express Framework
- Run a Web Server using Express Framework
- Routes
- Deploy the application using PM2 and Nginx
- Hands-On
- Introduction to NoSQL Databases and MongoDB
- Installation of MongoDB on Windows
- Installation of Database GUI Viewer
- Inserting Documents
- Querying, Updating, and Deleting Documents
- Connect MongoDB and Node.js Application
- Exploring SendGrid
- Sending emails through Node.js application using SendGrid
- Hands-On
- ES6 variables
- Functions with ES6
- Import and Export withES6
- Async/Await
- Introduction to Babel
- Rest API with ES6
- Browsing HTTP Requests with Fetch
- Processing Query String
- Creating API using ES6
- Transpilation
- Building Dashboard API
- Creating dashboard UI with EJS
- ES6 Aside: Default Function Parameters
- Data Validation and Sanitization
- Hands-On
- Web Sockets
- Web Sockets
- Socket.io
- Broadcasting Events
- Sharing Your Location
- Event Acknowledgements
- Form and Button States
- Rendering Messages
- Working with Time and Timestamps for determining Location of Messages
- Storing Users, Rendering User List, Tracking Users Joining and Leaving
- Deploying the Chat Application
- Redis – Building API with Redis
- Hands-On
- Understanding the basic concepts of a Database
- Database categories: What is NoSQL? Why NoSQL? The benefit over RDBMS
- Types of NoSQL Database, and NoSQL vs. SQL Comparison, ACID & Base Property
- CAP Theorem, implementing NoSQL and what is MongoDB?
- Overview of MongoDB, Design Goals for MongoDB Server and Database, MongoDB tools
- Understanding the following: Collection, Documents and Key/ Values, etc.,
- Introduction to JSON and BSON documents
- Case study discussion
- Environment setup (live Hands-on) and using various MongoDB tools available in the MongoDB Package
- Data Modelling Concepts
- Why Data Modelling? Data Modelling Approach
- Analogy between RDBMS & MongoDB Data Model, MongoDB Data Model (Embedding & Linking)
- Challenges for Data Modelling in MongoDB
- Data Model Examples and Patterns
- Model Relationships between Documents
- Model Tree Structures
- Model Specific Application Contexts
- Use Case discussion of Data modeling
- Hands-on
- MongoDB Development Architecture
- MongoDB Production Architecture
- MongoDB CRUD Introduction, MongoDB CRUD Concepts
- MongoDB CRUD Concerns (Read & Write Operations)
- Concern Levels, Journaling, etc.,
- Cursor Query Optimizations
- Query Behavior in MongoDB
- Distributed Read & Write Queries
- MongoDB Datatypes
- MongoDB CRUD Syntax & Queries
- Hands-on
- Administration concepts in MongoDB
- Monitoring issues related to Database
- Monitoring at Server, Database, Collection level, and various Monitoring tools related to MongoDB
- Database Profiling, Locks, Memory Usage, No of connections, page fault, etc.,
- Backup and Recovery Methods for MongoDB
- Export and Import of Data to and from MongoDB
- Run time configuration of MongoDB
- Production notes/ best practices
- Data Managements in MongoDB (Capped Collections/ Expired data from TTL), Hands-on Administrative Tasks
- Hands-on
- Introduction to Replication (High Availability)
- Concepts around Replication
- What is Replica Set and Master-Slave Replication?
- Type of Replication in MongoDB
- How to set up a replicated cluster & managing replica sets etc.,
- Introduction to Sharding (Horizontal Scaling)
- Concepts around Sharding, what shards, Key
- Config Server, Query Router, etc.
- How to set up a Sharding
- Type of Sharding (Hash-Based, Range, Based, etc.), and Managing Shards
- Hands-on
- MongoDB Package Components
- Configuration File Options
- MongoDB Limits and Thresholds
- Connection String URI Format/ Integration of any compatible tool with MongoDB API and Drivers for MongoDB
- MMS (MongoDB Monitoring Service)
- HTTP and Rest Interface
- Integration of MongoDB with Hadoop and Data Migration MongoDB with Hadoop (MongoDB to Hive)
- Integration with R
- Hands-on