Lesson 1: Introduction and Foundation
- Introduction
- The Node.js framework
- Installing Node.js
- Using Node.js to execute scripts
Lesson 2: Node Projects
- The Node Package Manager
- Creating a project
- The package.json configuration file
- Global vs. Local package installation
Lesson 3: Working with shrink-wrap to lock the node modules versions
- What is shrink-wrap
- Working with npmvet
- Working with outdated command
Lesson 4: Working with asynchronous programming
- Asynchronous basics
- Callback functions
- Working with Promises
- Advance promises
- Using Request module to make api calls
Lesson 5: Building a HTTP Server with Node.JS using HTTP APIs
- The HTTP protocol
- Building an HTTP server
- Rendering a response
- Processing query strings
- Processing posted data
Lesson 6: File System
- Synchronous vs. Asynchronous I/O
- Path and directory operations
- __dirname and __filename
- Asynchronous file reads and writes
Lesson 7: Buffers, Streams, and Events
- Using buffers for binary data
- Flowing vs. non-flowing streams
- Streaming I/O from files and other sources
- Processing streams asynchronously
Lesson 8: Multi-Processing in NodeJS
- Working with Child Process API
- Working with Cluster API for multi-core servers
Lesson 9: ExpressJS
- The model-view-controller pattern
- Defining Jade templates
- Configuring Express
- Postman configuration
- Using REST
- JSON Data
- Reading POST data
- CRUD operations
- Adding middleware
Lesson 10: Express JS with MongoDB and Sqlite
- How Node.js connects to databases
- RDBMS databases and NoSQL databases
- Connecting to RDBMS and Mongodb databases
- Performing CRUD operations
Lesson 11: Socket.io, The Front-end, and A Chat App
- Getting Started
- Adding Socket.io To Your App
- Exploring The Front-end
- Sending Live Data Back & Forth
- Creating The Front-end UI
- Showing Messages In App
- Working With Time
- Timestamps
- Show Message Time In Chat App
- Chat application Project
Lesson 12: Introduction to Task Managers with unit testing
- Working with gulp
- Working with grunt
- Working with unit and E2E testing