Ghosting Tech
Full Stack Developer
Program
Program Curriculum
(MERN Stack)
Ghosting.in
Learning outcomes:
Strong fundamental concepts of Frontend Development
Strong fundamental concepts of Server-side Development using REST APIs
Work with database seamlessly
Create beautiful end to end websites
Gain Industry standard knowledge
HTML
1. Introduction to WEB
What is Web?
2. HTML Basics
Introduction
Editors
HTML Document Structure(DOM)
Elements(Tags)
Attributes
Headings
Paragraphs
Formatting
Media
Lists
Tables
iframes
Layout
Head
Meta
Links
Scripts
CSS
JavaScript
HTML XHTML
HTML4 Drawbacks
3. HTML5 Introduction
What is HTML5 ?
Ghosting.in
New Features and groups
Backward Compatibility
Why HTML5?
Power of HTML5
4. HTML5 Detailed:
HTML5 Mark - up
New Semantic/Structural Elements
Canvas
SVG
APIs
Inputs
Forms
5. HTML5 Mark-up:
New & Updated Elements
Structural Elements
New Attributes
6. HTML5 New Semantic/Structural Elements
Introduction
What are Semantic Elements?
non-semantic elements: <div> and <span>
semantic elements:
<form>,
<table>,
<img>,
<article>
<aside>
<bdi>
<command>
<details>
<dialog>
<summary>
<figure>
<figcaption>
<header>
<footer>
<mark>
<meter>
<nav>
<progress>
<section>
<time>
Ghosting.in
7. HTML5 Forms:
Form Elements
Input Types
Input and Form Attributes
Form validation
8. HTML5 Form Elements
<input>
<select>
<multiple>
<textarea>
9. HTML5 Input Types
Introduction
color
email
number
range
search
submit
password
tel
url
date
month
time
week
10. HTML5 Form Attributes
New attributes for <form>:
autocomplete
novalidate
11. New attributes for <input>
autocomplete
autofocus
form, formaction
formtarget
height and width
list, min and max
multiple
pattern (regexp)
placeholder
required, step
12. HTML5 Multimedia : Audio and Video
New Media Elements
<audio>
<video>
<source>
<embed>
<track>
13. HTML5 Canvas
What is Canvas?
Canvas Coordinates
Drawing Linear Paths, Arcs, Curves
Drawing : Shapes, Text, Gradients, Images, Video
14. HTML5 SVG
What is SVG?
SVG Advantages
Differences and/or Comparison Between SVG and Canvas
15. HTML5 APIs
Drag/Drop
Introduction
Make an Element Draggable
What to Drag?Where to Drop?
HTML5 Geo location
Introduction
Locate the User’s Position+
Handling Errors and Rejections
The getCurrentPosition()
Geolocation object
HTML5 Web Storage
What is HTML5 Web Storage?
The localStorage Object
The sessionStorage Object
HTML5 App Cache
What is Application Cache?
Cache Manifest Basics
HTML5 Cache Manifest
CSS
1. CSS 1.0 and 2.0
CSS Basics
CSS Introduction
CSS Syntax
CSS Id, Class
CSS Styling
Styling Backgrounds, Text, Fonts, Links, Lists and Tables
CSS Border
2. CSS3
Introduction
CSS3 Modules
Selectors
Box Model
Text Effects
2D/3D Transformations
Perspectives
Animations
Flex Box
CSS Grid
User Interface
Borders
border-radius
box-shadow
border-image
CSS3 Backgrounds
3. CSS3 Text Effects
text-shadow
word-wrap
4. CSS3 Fonts
@font-face Rule
Font Properties: Font Size, Font Weight, Font Stretch
5. CSS3 Transforms
Browser Support
2D Transforms : translate, rotate, scale, skew, matrix
3D Transforms : rotateX, rotateY(), rotateZ(), scaleX(), scaleY(), scaleZ()
6. CSS3 Transitions
transition-property
7. CSS3 Animations
CSS3 @keyframes Rule
Browser Support
Animation Attributes: duration, fill, delay, etc
8. CSS3 User Interface
box-sizing
Outline-offset
9. CSS3 Media Queries
Javascript
1. Javascript Introduction and Basics
What is JavaScript
Role in Web Development
What is ES5 and ES6?
2. Data Types and Variables
Variable Naming and Rules
Numbers in JS
Number In-built Functions
Strings in JS
String In-built Functions
Null and Undefined
3. Expressions and Operators
Assignment
Arithmetic
Logical
Comparison
Coercion
4. Control structures and conditional statements
If-else
Switch
For loop
Break and Continue
While loop
5. Objects and Arrays
Creating an object
Accessing values from object
this keyword
Creating Arrays
Array In-built Functions
6. Functions and Methods
Writing our own Functions
Environment and Scope
Hoisting
Arrow Functions
Closure
Higher Order Functions
7. OOPS basics
The “class” Keyword
Polymorphism
Inheritance
Symbols
Getter and Setters
8. Browser Object Model
Whats is BOM
The “window” Object
The “screen” Object
The “location” Object
The “history” Object
The “navigator” Object
Cookies
9. Document Object Model
DOM Structure
Finding & Updating Elements
Creating Nodes
Updating Styles
Query Selectors
10. Events
Event Handlers
The “event” Object
Default Actions
Key Events
Pointer Events
Touch Events
Scroll Events
Focus Events
Load Events
Timers
11. Pattern Matching with Regular Expressions
What is Regular Expression
Regex Objects in JS
Modifiers and Brackets
Metacharacters and Quantifiers
Regex Object Methods
12. Errors and Strict Mode
Handling Errors with try-catch
The “throw” statement
The “finally” statement
What is “strict” mode
How to declare strict mode
What cannot be done if strict mode
13. AJAX and JSON
What is AJAX?
Making AJAX Requests
Handling AJAX Response
What is JSON?
Rules to Write JSON
JSON Object vs Array
Parsing JSON
14. Jquery Basics
What is jQuery
Selectors and Filters
Creating and Modifying Page Content
Handling Events
Animating Page Content
React, Redux
1. React Introduction:
What is React?
Understanding Single Page Applications and Multi Page Applications
Real-World SPAs & React Web Apps
2. Base Features and Syntax:
Build Workflow
Create-React-App
ESLint
Component Basics
Understanding JSX
Functional Components
Working with Props
Lists in React
3. Styling and CSS Modules:
Adding Styles with Stylesheets
Adding Inline Styles
Why CSS Modules for React
Installing and Using CSS Modules
Using Media Queries with CSS Modules
4. Components in Depth:
Stateful vs Stateless Component
Class-based vs Functional Component
Component Lifecycle
DOM vs Virtual DOM
shouldComponentUpdate() for Optimization
Pure Components
Higher Order Component (HOCs)
PropTypes
5. Debugging:
Using Browser DevTools
Working with React DevTools
Using Error Boundaries
6. Connecting React App to Web
HTTP requests in React
Installing and Understanding Axios
Async/Await
Fetching data from Server
Sending data to Server
Deleting data on Server
Global Configuration for Axios
Handling Network Errors
7. Routing:
Setting up React-Router
Links
Switch
Passing Route Parameters
Redirecting Requests
Conditional Redirects
Handling 404
8. Redux:
Complexity of Managing State
What is Flux?
What is Redux? Why Redux for React?
Understanding Redux Flow
Setting up Reducer and Store
Actions and Subscriptions
Connecting Redux to React
Updating State Immutably
Handling Multiple Reducers
9. Testing:
Intro to React testing
Intro to test-utils
Intro to Jest for testing React Apps
10. Build and Build Tools:
Babel
NPM
Webpack
Creating a Production Build
MongoDB
1. MongoDB Fundamentals
2. NoSQL and CAP Theorem
3. MongoDB database
4. MongoDB shell
5. MongoDB query language and Atlas
6. Reading and writing data
7. MongoDB BSON data types
NodeJS
1. Introduction to Node.js
What is Node.js?
Traditional Web Server Model
Node.js Process Model
Installation and Environment setup
Command Line Interface
2. Node.js Components
Routing in Node.js
Callbacks
Blocking and Non-blocking Functions
3. Node Js Modules
Functions
Buffer
Streams
Module and Module Types
Core Modules
Local Modules
Importing Modules
Module.Exports
4. Node Package Manager
What is NPM
Installing Packages Locally
Adding dependency in package.json
Installing packages globally
Updating packages
5. Web server Creation
Creating web server
Handling http requests
Sending requests
6. File System
Fs.readFile
Writing a File
Writing a file asynchronously
Opening a file
Deleting a file
Other IO Operations
7. Debugging Node.js Application
Core Node.js debugger
Debugging with Visual Studio
8. Events
Event Loop
EventEmitter class
Returning event emitter
Inhering events
9. Serving Static Resources
Serving static file
Working with middleware
10. Database connectivity
Connection string
Configuring Working with select command
Node.js MongoDb with Mongoose
Node.js MYSQL Database
11. Template Engines
Why Template Engine
What is Jade ?
What is vash ?
12. RESTful API
REST Architecture
RESTful web services
HTTP Methods : GET, POST, PUT, DELETE etc
Data Validation and Sanitization
13. Authentication and Security
Logging-in Users
What is JSON Web Tokens
Generating and Accepting Authentication Tokens
Authenticating Endpoints
Securely Storing Sensitive Data
Express.js
1. Express.js Framework
2. Configuring routes
3. Middlewares
4. Working with express
5. Request and Response
6. Creating RESTful API’s: GET, POST, PUT and DELETE
7. Error Handlers
Mindset for Problem Solving
1. Mathematical Aptitude
Percentages
Profit and Loss
Simple Interest and Compound Interest
Work And Time
Probability
Permutation and Combination
Profit and Loss
Time & Speed
Ratios and Proportions
Data Interpretation
2. Art of Learning Anything
What is Intelligence
Relation of success with intelligence
Illusion of Learning
Focussed Mode vs Diffused Mode
Procrastination
Improving Recall
Creating Brain Links
Visual memory & Data Memory
Slow Thinking
3. Computational Thinking
Thinking before Doing/Coding
Problem Identification
Decomposition
Pattern Recognition
Abstraction
Algorithm Design
Computational Thinking Use Case 1
Computational Thinking Use Case 2
4. Technical Puzzles
Why are Puzzles part of interviews?
The Art of solving puzzles
Approach more important than the solution
Puzzles for Vertical Thinking
Puzzles for Horizontal Thinking
Productivity and Decision Making
1. Art of being Super Productive
Start with Why to make objectives clear
Thinking Limitless
The magic of computing returns
Deciding what to work on
Time Management Skills
Measuring what matters
Choosing wisely habits to inculcate
2. Effective Decision Making
Why is decision making a key skill?
Components of Decision Making
Understanding common biases
Letting emotions not clutter decision making
Difference between quick decision making & slow decision making
Professional Communication
1. Reading comprehension & Short writing
Building vocabulary
Extracting insights from the textual information
Drawing inferences from multiple stories
Writing you inferences for others to understand
2. Book Reading & Writing Reviews
Reading 10 books during the entire course & writing book reviews
2 Biographies
2 Fictions
6 Non-Fictions
3. Effective Understanding & Articulation
Watching 20 movies from our suggested list
Writing 1000 words essay on those movies
Writing a summary of the movies
4. Group Discussion for decision making
Understanding why GD is so important in personal & professional life
The objective of GD - Collectively making the right decision
5 GD on various topics
5. Writing Professional chat/E-mail
Writing as the most common method of professional communication
Factors to keep in mind before starting to write
Points to consider while writing
Activities after writing
Difference between chat writing & email writing
6. Making Impressive Presentation
Why making a presentation is a professional job
The objective of the presentation
Attributes of good presentation
Why research is key to the presentation
Making a presentation interactive
Doing 10 video/live presentation
Computer Fundamentals
1. Operating System Concepts
Operating System Architecture
Processes and Process Management
Threads and Concurrency control
Scheduling
Memory Management
Inter-Process Communication
Synchronization Constructs
I/O Management
Resource Virtualization
Remote Services
Distributed Systems
Introduction to Data Center Technologies
2. Linux Administration
Introduction to Linux Operating Systems
Basic Linux Commands
File Management and Security
The directory structure of Unix
User Management
Groups
Shell types and basic commands
Permissions
sudo
Systemd Services Start and Stop
Resource Mgmt with systemctl
Process Management (top, ps)
Package Management(yum, apt, rpm)
Managing disks (lsblk, df, mount, umount,du)
File systems
3. Data Structures and Algorithms
Built-in Data Type
o Integers
o Boolean
o Floating
o Character and Strings
Derived Data Type
o List
o Array
o Stack
o Queue
Linked List
o Singly Linked List
o Doubly Linked List
o Circular Linked List
Array
Stack
Queue
Tree
Basic Operations
o Traversing
o Searching
o Sorting
o Hashing
o Insertion
o Deletion
o Merging
Searching techniques
o Binary search
o Linear search
Recursion
Fibonacci series
Sorting Algorithm
o Bubble sort
o Insertion sort
o Selection sort
o Quick sort
o Merge sort
o Bucket sort
4. Database concepts
Introduction to Databases
Entity Relationship Model
Relational Model
Relational Algebra
Normalization
Transactions and Concurrency Control
DBMS Architecture 2-level 3-level
Data Abstraction and Data Independence
Database Objects
Entity-Relationship Model
Generalization
Specialization
Aggregation
Entity Relationship Diagrams
Keys in Relational Model
Candidate key,
Super key
Primary key
Alternate key
Foreign key
Strategies for Schema design
Schema Integration
Data modelling
Star Schema in Data Warehouse modelling
Data Warehouse Modeling
5. Basic SQL - Syntax
Data Types
Operators
Expressions
Create Database
Drop Database
Select Queries
Create Table
Drop Table
Other Table Operations
Insert Query
Where Clause
AND & OR Clauses
Update operations
Delete operations
Order By clause
Group By Clause
Sorting operations
SQL Constraints
Type of Joins
Unions Clause
NULL Values
Indexing
Views
6. Software Engineering
Software Engineering Overview
Features of Good Software:
o Operational Features
o Transitional Features
o Maintenance Features
Software Development:
o Requirement Gathering
o Software Design
o Programming
Software Design
o Design
o Maintenance
o Programming
Programming:
o Coding
o Testing
o Integration
Software Development Life Cycle
o Requirement Gathering
o System Analysis
o Software Design
o Coding
o Testing
o Integration
o Deployment
o Operation and Maintenance
Types of SDLC
o Waterfall model
o Iterative Model
o Spiral model
o V Model
Agile Concepts
DevOps Concepts
Microservices Architecture
Features of Microservices Architecture
Software Requirements
Software Design Basics
Analysis & Design Tools
o Data Flow Diagram
o Flow Chart
Design Strategies
o Function-Oriented Design
o Object-Oriented Design
User Interface Design
o Command Line Interface(CLI)
o Graphical User Interface (GUI)
Design Complexity
Software Testing Overview
o Manual Vs Automated Testing
o Testing Approaches
o Black-box testing
o White-box testing
o Unit Testing
o Integration Testing
o Functionality testing
o Acceptance Testing
o Regression Testing
Quality Control
Deployment Methods
o Blue-Green Deployment
o Rolling Deployment
Software Monitoring
Software Maintenance
7. Tools
Git
o What is Git?
o Installing Git
o First-Time Git Setup
o Git Basics
o Getting a Git Repository
o Recording Changes to the Repository
o Viewing the Commit History
o Undoing Things
o Working with Remotes
o Tagging
o Git Branching
o Basic Branching and Merging
o Branch Management
o Branching Workflows
o Remote Branches
o Rebasing
Putty
o Installation
o Types of connections
o Connecting to a remote server
o Using Auth keys
o Customizing putty
Vim
o Vim Basics
o Insert Mode
o Visual Mode
o Command Mode
o Create and Edit a file
o Search and replace in Vim
o Vim diff
o Copy operations
o .vimrc file
o Vim Commands