Full Stack Developer Training Modules
Overview of the training modules covered during the full stack development training program
HTML & HTML5 Syllabus
Introduction to Web - HTML & HTML5
- Introduction to Web
- How Websites Work
- How Browsers Work
- Client Side vs Server Side
- Setting up IDEs
- Elements
HTML & HTML5 - Elements & Tags
- What are Elements
- What are Tags
- What are Attributes
- How to use Comments
- Types of Elements
- Inline Elements
- Block Elements
HTML & HTML5 - Text Related Elements
- Heading Elements
- Paragraph Element
- Division Element
- Span Element
- Working with empty spaces
- Pre Formatted Text
HTML & HTML5 - Images & Links
- Working with Images
- Setting Width & Height
- Working with Links
- Linking to external websites
- Linking to Internal Pages
- Linking to different sections in the page
HTML & HTML5 - Tables & Lists
- Ordered Lists
- Un-ordered Lists
- Descriptive Lists
- Working with Tables
- Table Headers
- Table Data
HTML & HTML5 - Input Elements & Forms
- Text Input Element
- Password Input Element
- Check Boxes
- Radio Buttons
- Drop Downs
- Date, Time Input Elements
- Other Misc., Elements
- Forms
HTML & HTML5 - Audio & Video
- Working with Audio Files
- Audio File Formats
- Browser Compatibility & Fall back to default
- Working with Videos
- Video File Formats
- Browser Compatibility & Streaming
HTML & HTML5 - Semantic Elements
- Introduction to SEO
- Introduction to Semantic Elements
- Header & Nav Elements
- Section & Article Elements
- Aside & Footer Elements
- Summary & Details Elements
HTML & HTML5 - Project
- Text Input Element
- Password Input Element
- Check Boxes
- Radio Buttons
- Drop Downs
- Date, Time Input Elements
- Other Misc., Elements
- Forms
CSS & CSS3 Syllabus
Introduction to Web Designing - CSS & CSS3
- Introduction to Web Designing
- How CSS Works in Browsers
- External CSS
- Internal CSS
- Inline CSS
CSS & CSS3 - Selectors
- Introduction to Selectors
- Universal Selectors
- Element Selectors
- Class Selectors
- ID Selectors
- Descendant Selectors
- Pseudo Class Selectors
- Pseudo Element Selectors
- Inheritance
CSS & CSS3 - Box Model, Borders & Shadows
- Introduction to Box Model
- Working with Margins
- Working with Paddings
- Working with Content
- Working with Borders
- Working with Shadows
CSS & CSS3 - Colors & Gradients
- Working with Colors
- Named Colors
- Hexadecimal Colors
- RGB & HSL Colors
- Colors with Opacity
- Working with Gradients
- Linear Gradients
- Vertical Gradients
CSS & CSS3 - Flex-Box
- Introduction to Flex-box
- Flex Direction Rows
- Flex Direction Columns
- Justifying Content
- Aligning Items
- Flex Wrap
- Align Content
- Flex Basis
- Flex Grow
CSS & CSS3 - Grid
- Introduction to Grid
- Grid Rows
- Grid Columns
- Justify & Align Items
- Justify & Align Content
- Row & Column Gaps
- Grid Template Areas
CSS & CSS3 - Other
- Measurement Units
- Absolute Units
- Relative Units
- Positioning – Relative
- Positioning – Absolute
- Positioning – Fixed
- Overflows
CSS & CSS3 - Bootstrap & Tailwind
- Introduction to CSS libraries
- Working with Bootstrap
- Bootstrap Buttons
- Bootstrap Colors
- Bootstrap Input Elements
- Bootstrap Spacing
- Working with Tailwind CSS
- Working with Tailwind Classes
CSS & CSS3 - Projects
- Text Input Element
- Password Input Element
- Check Boxes
- Radio Buttons
- Drop Downs
- Date, Time Input Elements
- Other Misc., Elements
- Forms
JavaScript Syllabus
JavaScript Introduction
- Introduction to JavaScript
- Where can we run JavaScript
- JavaScript for Client Side Applications
- JavaScript for Server Side Programming
- JavaScript for Desktop Applications
- Internal JavaScript
- External JavaScript
- First JavaScript program
JavaScript - Variables
- Introduction to Variables in JavaScript
- Data Types in JavaScript
- Primitive Data Types
- Numbers
- Strings
- Booleans
- Undefined & Null Data Types
- Reference Data Types
- Difference between Primitive & Reference data types
JavaScript Functions
- Introduction to functions
- Types of functions
- Named functions
- Anonymous Functions
- Fat Arrow Functions
- Function parameters
- Default parameters
- Returning values from functions
JavaScript - Conditional Statements & Loops
- If Statement
- If-else Statement
- Ternary Operator
- Truth & Falsy things in JavaScript
- Abstract Comparison
- Exact Comparison
- For Loop
- For-Of & For-In loops
- Do – While loop
- While – Do loop
JavaScript - Arrays
- Arrays in JavaScript
- Accessing elements from arrays
- Adding & Deleting elements from arrays
- Push – Pop methods
- Shift-Unshift methods
- Splice method
- Searching in Arrays
- Index-of method
- For-Each & Map methods
JavaScript - Objects
- Objects in JavaScript
- Accessing the properties from Objects
- Shallow Copy & Deep Copy
- Understanding this in JavaScript
- Built-In Objects in JavaScript
- Date Object
- JSON
- JSON Stringify
- JSON Parse
ES6+ JavaScript - Object Oriented Programming
- Object Oriented Programming in JavaScript
- Traditional vs ES6 Object oriented programming
- Classes
- Constructor Function
- Creating Objects using new keyword
- Inheritance
- Public and Private properties
ES6+ JavaScript - Promises & Fetch API
- Promises in JavaScript
- Working with Promises
- Creating Promises in multiple ways
- Async-Await in JavaScript
- Fetch API
- Getting Data from Server
- Get, Post, Put, Delete requests
JavaScript - Document Object Model (DOM)
- Introduction to Document Object Model (DOM)
- Accessing DOM elements
- Modifying elements dynamically
- Adding event listeners to elements
- Getting the data entered by the user
- Getting data from text, password input elements
- Getting data from checkboxes
- Getting data from dropdowns
Advanced JavaScript Syllabus
JavaScript - ES5 vs ES6
- Problems with ES5 JavaScript
- Scopes in JavaScript
- Scopes in ES5 JavaScript
- Scopes in ES6 JavaScript
- Var vs Let
- More on Comparison Algorithm
- More on Truth & Falsy things
JavaScript - Scopes & Closures
- Arguments in Functions
- Iterable Object
- Iterating through Arguments
- IIFE Functions
- More on Scopes
- Lexical Scopes
- Closures
- Advantages of Closures
Asynchronous JavaScript
- How JavaScript itself works
- Single Threaded JavaScript
- Events in JavaScript
- Jobs in JavaScript
- How JavaScript Executes Events
- How JavaScript Executes Jobs
- Event Pool & Event Queue
- Job Pool & Job Queue
JavaScript - Conditional Statements & Loops
- Hoisting in JavaScript
- Hoisting with Var
- Temporal Dead Zones with Let
- This inside Fat Arrow Functions
Advanced JavaScript - Arrays, Objects & OOP
- Iterables in JavaScript
- Iterable Objects
- Symbol Iterator
- Object Oriented Programming in ES5 Javascript
- Prototype in JavaScript
- Prototype Chain
- Iterating through an Object
- Defining Object Properties
- Mutable & Immutable Objects
- Freezing and Sealing Objects
Advanced JavaScript - More ES6+ Features
- Modules in ES6+ JavaScript
- Working with Modules
- More on Promises
- Promises – All & AllSettled
- Promises – Any & Race
- Sets & Maps
- Symbols
- Iterators & Generators
Advanced JavaScript - More on DOM
- How Browsers executes JavaScript
- Loading JavaScript in multiple ways
- async
- defer
ES6+ JavaScript - Promises & Fetch API
- Promises in JavaScript
- Working with Promises
- Creating Promises in multiple ways
- Async-Await in JavaScript
- Fetch API
- Getting Data from Server
- Get, Post, Put, Delete requests
JavaScript - Document Object Model (DOM)
- Introduction to Document Object Model (DOM)
- Accessing DOM elements
- Modifying elements dynamically
- Adding event listeners to elements
- Getting the data entered by the user
- Getting data from text, password input elements
- Getting data from checkboxes
- Getting data from dropdowns
Angular 13+ Syllabus
Angular - Introduction
- Introduction to Angular
- Installing Angular CLI
- Creating Angular Application
- Running Angular Application
- Angular Application Structure
- Global Configuration Files
- Roles in Angular Application
Angular - Bindings
- Introduction to Components
- Role of a Component
- Bindings in Components
- String Interpolation
- Property Binding
- Interpolation vs Property binding
- Event Binding
- Binding to Mouse, Keyboard events
- $event object
- Template Reference Variables
- Accessing User Entered data using Template Reference Variables
- Creating Custom Components
- Parent & Child Components
Angular - Directives
- Directives in Angular
- Components vs Directives
- Built-in Angular directives
- *ngIf
- *ngFor
- *ngSwitch
- ngClass
- ngStyle
- Custom Directives
- Manipulating element properties using ElementRef
- Creating elements using Renderer
- HostBinding & HostListner
Angular - Lifecycle Hooks
- Lifecycle Hooks of Components/Directives
- ngOnChanges
- ngOnInit
- ngDoCheck
- ngAfterContentInit & ngAfterContentChecked
- ngAfterViewInit & ngAfterViewChecked
- ngOnDestroy
Angular - Component Communications
- Introduction to Web Components
- Re-usable Components
- Passing data from parent to child using @Input
- Accessing data from child
- @ViewChild & @ViewChildren
- Content Projection
- @ContentChild & @ContentChildren
- Emitting data from child using EventEmitter, @Output
Angular - Services
- Introduction to State Management
- Single Source of Truth
- Creating Services in Angular
- Dependency Injection
- Injectable Services
- Using Built-In Services
- Using Third-Party Services
Angular - HTTP
- Introduction to Reactive Programming (RxJS)
- Subscriptions in Reactive Programming
- Subscriptions vs Promises
- Using HTTP Module in Angular
- Getting the data from server and displaying in the application
- Sending user submitted data to server
- Making Get, Post, Put, Delete Requests
- Error Handling
- HTTP Interceptor
Angular - Template Driven Forms
- Types of Forms in Angular
- Handling Forms with Forms Module
- One Way & Two Way Bindings in Angular
- Accessing Form Value
- Form Validations
- Touched & Un-Touched
- Dirty & Pristine
- Handling Password & Confirm Password
- Handling Check Boxes
- Handling Radio Buttons
- Handling Drop Downs
- Handling other misc input elements
Angular - Reactive Forms
- Using Reactive Forms Module
- Form Groups, Form Controls, Form Arrays
- Creating Forms using Reactive Forms in multiple ways
- Attaching Reactive Form to Template
- Subscribing to Form / Form Control Value Changes
- Form Validations
- Creating Custom Form Validators
- Resetting, Setting, Patching Form
- Parent and Child Forms
- Dynamically changing form validations
- Asynchronous Form Validators
- Creating custom asynchronous form validators
Angular - Routing
- Introduction to Routing
- Single Page Applications
- App Routing Module
- Route Modules for Root and Child
- Creating Routes
- Router Outlet and Router Link
- Redirecting Routes
- Redirecting Routes with Path Match
- Redirecting Routes Programatically
- Accessing URL Params with Activate Route Snapshot
- Subscribing to URL Params with Activated Route Snapshot
- Passing Data through Routes
- Query Params
- Accessing Query Params from URL
- Route Guards
- Can Activate Route Guard
- Can Deactivate Route Guard
- Can Load Route Guard
- Resolving Data before loading a Route
Angular - Modules
- Modularity in Angular Applications
- Creating Sub Modules
- Using Sub Modules
- Eager Loading Modules
- Lazy Loading Modules
- Pre-Loading Modules
- Pre Loading all modules
- Custom Pre Loading Strategy
Angular - Pipes
- Introduction to Pipes in Angular
- Built-in Angular Pipes
- Number, Currency, Lower/Upper case pipes
- JSON Pipe
- Async Pipe
- Custom Pipes
- Creating a Custom Pipe
- Pure & Impure Pipes
- Custom Pipes with additional options
React JS Syllabus
React JS - Introduction
- Introduction to React JS
- React JS Application folder structure
- Working with JSX
- Using className, style
- React Application Architecture
- Creating Components in React
- Conditional Rendering using Ternary Operator
- Iterating through Arrays using Map to create multiple elements
- Handling Events in React
- Accessing event details
React JS - Component Communication
- Communicating between components
- Parent & Child Components
- Props in React
- Passing Data from Parent to Child Component
- Passing Data from Child to Parent Component
- Responding to Child Components events in Parent Component
- Passing Children
- Types of Components
- Controlled Component
React Hooks - useState & useReducer
- Introduction to React Hooks
- State in React JS Application Components
- Managing Component state in React
- Using useState to hold that state
- Asynchronous Events
- Using useState with callback function
- useReducer hook
React Hooks - useEffect & useContext
- Handling Side Effects in React
- useEffect Hook
- Get Data on page load using useEffect hook
- useEffect hook for a particular state variable
- useEffect Clean-up Function
- Entire Application State in React Application
- Using useContext hook
- Provide data using useContext hook
- Access data from useContext hook
React Hooks - useMemo, useCallback, useRef
- React Memo
- Using useMemo hook
- Using useCallback hook
- Using useRef hook
- Creating Custom Hooks
React - HTTP & Forms
- Getting Data from Server using Fetch API
- Working with Axios
- Handling Input Elements
- Controlled Input Elements
- Uncontrolled Input Elements
- Handling Forms
- Handling Validations
Server Side Programming with Node JS
Node JS - Introduction
- Introduction to Server Side Programming
- Introduction to Node JS
- Creating Server with Node JS
- Handling requests with Node JS
- Sending Response from Node JS
- Introduction to NPM
- Working with NPM
- Popular NPM Packages
Express JS
- Introduction to Express JS
- Adding Express JS to our application
- Creating Server with Express JS
- Express Middle Ware
- Handling Get Requests with Express JS
- Handling Post Requests with Express JS
- Accessing Params with Express JS
- Accessing Post body with Express JS
- Creating RESTful API with Express JS
Mongo DB
- Introduction to MongoDB
- Installing MongoDB on our system
- Introduction to Mongoose
- Connecting to MongoDB with Mongoose
- Creating Data Models for MongoDB
- Creating Documents on MongoDB
- Performing CRUD operations on MongoDB