Lesson 0. Setting up Node.js and the JavaScript engine
0.1. What you’re going to learn
0.3. Why learn to develop in Node.js?
Lesson 1. Configuring your environment
1.3. Setting up SCM and deployment tools
Lesson 2. Running a Node.js application
2.1. Creating a JavaScript file
2.2. Running your JavaScript file with Node.js
Unit 1. Getting started with Node.js
Lesson 3. Creating a Node.js module
Lesson 4. Building a simple web server in Node.js
4.1. Understanding web servers
Lesson 5. Handling incoming data
5.1. Reworking your server code
Lesson 6. Writing better routes and serving external files
6.1. Serving static files with the fs module
Lesson 7. Capstone: Creating your first web application
7.1. Initializing the application
7.2. Understanding application directory structure
Unit 2. Easier web development with Express.js
Lesson 8. Setting up an app with Express.js
8.1. Installing the Express.js package
8.2. Building your first Express.js application
Lesson 9. Routing in Express.js
Lesson 10. Connecting views with templates
10.1. Connecting a templating engine
10.2. Passing data from your controllers
Lesson 11. Configurations and error handling
11.1. Modifying your start script
Lesson 12. Capstone: Enhancing the Confetti Cuisine site with Express.js
12.1. Initializing the application
12.2. Building the application
Unit 3. Connecting to a database
Lesson 13. Setting up a MongoDB Database
13.2. Running commands in the MongoDB shell
Lesson 14. Building models with Mongoose
Lesson 15. Connecting Controllers and Models
15.1. Creating a controller for subscribers
15.2. Saving posted data to a model
Lesson 16. Capstone: Saving user subscriptions
Lesson 17. Improving Your Data Models
17.1. Adding validations on the model
17.3. Creating model associations
Lesson 18. Building the user model
18.2. Adding CRUD methods to your models
Lesson 19. Creating and reading your models
19.1. Building the new user form
19.2. Creating new users from a view
Lesson 20. Updating and Deleting your Models
20.1. Building the edit user form
20.2. Updating users from a view
Lesson 21. Capstone: Adding CRUD Models to Confetti Cuisine
Unit 5. Authenticating user accounts
Lesson 22. Adding sessions and flash messages
22.1. Setting up flash message modules
Lesson 23. Building a user login and hashing passwords
23.1. Implementing the user login form
Lesson 24. Adding User Authentication
24.1. Implementing Passport.js
24.2. Modifying the create action to use passport registration
Lesson 25. Capstone: Adding User Authentication to Confetti Cuisine
25.3. Adding encryption with Passport.js
25.5. Adding validation middleware with express-validator
Lesson 26. Adding an API to Your Application
Lesson 27. Accessing Your API from Your Application
27.1. Applying an API namespace
27.2. Joining courses via modal
Lesson 28. Adding API Security
Lesson 29. Capstone: Implementing an API
29.2. Adding the courses partial
29.3. Creating the AJAX function
Unit 7. Adding chat functionality
Lesson 30. Working with Socket.Io
Lesson 31. Saving Chat Messages
31.1. Connecting messages to users
31.2. Displaying user names in chat
Lesson 32. Adding a Chat Notification Indicator
32.1. Broadcasting to all other sockets
Lesson 33. Capstone: Adding a Chat Feature to Confetti Cuisinex
33.2. Setting up socket.io on the server
33.3. Setting up socket.io on the client
33.4. Creating a Message model
33.5. Loading messages on connection
Unit 8. Deploying and managing code in production
Lesson 34. Deploying your application
34.1. Preparing for deployment
34.2. Deploying your application
Lesson 35. Managing in production
Lesson 36. Testing your application
36.1. Basic testing with core modules
36.2. Testing with mocha and chai
Lesson 37. Capstone: Deploying Confetti Cuisine
A. JavaScript syntax introduced in ES6
B. Logging and using Node.js global objects