Published using Google Docs
nodejs
Updated automatically every 5 minutes

Node.js Fundamentals

This course focuses on developing the server side of web applications and REStful web services using Node.js. The course focuses on node.js and its complementary libraries and frameworks, such as Express.js and Mongoose.

The course was developed for people with basic knowledge of software development. It can be either a programming course that was taken in the past or practical experience. The first two meetings cover the required knowledge in JavaScript for developing in Node.js.

If you don’t have a background in JavaScript, we recommend you to start by taking the online course (in Hebrew) for learning JavaScript at https://academy.lifemichael.com/he Taking that course, we will refund you the sum you paid (e.g. If you pay 640 shekels for the JavaScript programming online course you will get a discount of 640 shekels when paying for the Node.js Fundamentals course).

The course includes 70 academic hours delivered in 14 weekly meetings. The course takes place online. If interested, it might be feasible to attend the meeting room from which the course is broadcast (if you are interested in this option, you should update us before you enroll). The training material (slides, video clips, assignments, solutions, and code samples) for the entire course is organized on the e-learning platform we use during the course. Each meeting includes a theoretical lecture together with practical practice (at least 40% of each meeting). The practical practice includes coding by the instructor followed by the students and coding by the students with the assistance of the instructor. Each meeting is captured on video in order to allow the students to have an effective learning process at home. The course includes lots of relatively small assignments and a final project.

Detailed information about the ‘Node.js Fundamentals’ course can be found at https://lifemichael.com/courses/nodejs Detailed information about the premium training we deliver in our public course can be found at https://tinyurl.com/lifemichaelpremiumpubtraining You can find a detailed video that overviews this syllabus at https://youtu.be/dvFDAMYmpC0.

Meeting

Topic

Sub Topics

1

JavaScript Programming

JavaScript Programming
Introduction
Basic Elements
Object Oriented Programming

2

JavaScript Programming

JavaScript Programming
Arrays

Functions

Errors      
Lambda Expressions
Promise

3

Node.js Server Side Development

Node.js Basics
Introduction
Jump Start
Basics
Debugging
Operating System

Node.js Basics
Query String
Process

HTML
Forms

4

MongoDB

Mongo DB Basics
Introduction
Jump Start
MongoDB Shell
Data Types
CRUD Operations
Querying
Indexing

MongoDB Atlas
Introduction
Basics

Compass
Introduction
Basics

5

MongoDB





Mongo DB Design Patterns
Introduction to MongoDB Design Patterns
The Bucket Design Pattern

The Computed Design Pattern

The MongoDB Approximation Design Pattern

The MongoDB Attribute Design Pattern

The Preallocation Design Pattern

The Extended Reference Design Pattern

The Document Versioning Design Pattern

6

Node.js Server Side Development

Mongoose Basics
Introduction
Jump Start

Node.js Basics
Files
Headers

7

Express.js

Express.js Basics
Introduction
Basics
Configuration
Request
Response    

8

Express.js

Express.js Basics
Middlewares  
Sessions Management

9






REStful Web Services
Introduction
Constraints
Characteristics

Express.js Basics
REStful Web Services Development

10

WebSockets API







Express.js

Introduction to HTML5
WebSockets API
                                                     
Socket.IO
Introduction
Basics

Express.js Basics
Security Best Practices

11

Node.js Server Side Development

Express.js Basics 

Performance Best Practices

Node.js Basics
Node.js in Depth

12

Redis

Node.js Server Side Development

Redis Basics
Introduction
Basics


Node.js Basics

The Cluster Module

The Worker Threads Module

13

Node.js Server Side Development












Node.js Design Patterns
Introduction
Classic Patterns (Proxy, Singleton, Modules, Factory)
Server Side Patterns (Callback, Promise, Service, Request & Response Patterns, Data Transfer Object, Middleware)

14

Micro Services

Server Side Architecture
Monolitic Architecture
Micro Services Architecture


Micro Services Design Patterns
T.B.A. (we will select from patterns mostly listed at microservices.io)


Changes:


26/2/2018         
More topics are added

4/7/2018         
The Session Management topic was shifted to be delivered as part of the Express topics.  


31/8/2022        
The topic ‘MySQL with NodeJS’, ‘Restify’, ‘Timers’, ‘Amazon Clouod9’, and ‘Node.js on Heroku’ were removed. The topics ‘MongoDB Design Patterns’ and ‘Micro Services Design Patterns’ were added.