Lesson 0. Setting up Node.js and the JavaScript engine
Lesson 1. Configuring your environment
Figure 1.1. Node.js installer page
Lesson 2. Running a Node.js application
Lesson 3. Creating a Node.js module
Lesson 4. Building a simple web server in Node.js
Figure 4.1. A web server sends your browser web pages, images, and other resources on request.
Lesson 5. Handling incoming data
Figure 5.1. A web server collects posted data and arranges it.
Lesson 6. Writing better routes and serving external files
Figure 6.1. Application structure with views
Figure 6.2. Server routing logic to render views
Figure 6.3. Arranging your assets so they’re easier to separate and serve
Figure 6.4. The exports object gives other files access to specific functionality.
Lesson 7. Capstone: Creating your first web application
Lesson 8. Setting up an app with Express.js
Figure 8.1. Express.js stands between the HTTP requests and your application code.
Lesson 9. Routing in Express.js
Figure 9.1. The role of middleware functions
Figure 9.2. Express.js MVC file structure
Figure 9.3. Express.js can follow the MVC structure with routes feeding controllers
Lesson 10. Connecting views with templates
Lesson 12. Capstone: Enhancing the Confetti Cuisine site with Express.js
Lesson 13. Setting up a MongoDB Database
Lesson 14. Building models with Mongoose
Figure 14.1. Models created with Mongoose map to documents in MongoDB.
Lesson 15. Connecting Controllers and Models
Figure 15.1. Example browser response with subscriber data
Figure 15.2. Example browser view with listed subscriber data
Lesson 16. Capstone: Saving user subscriptions
Figure 16.1. Listing subscriber data on the subscribers page
Lesson 17. Improving Your Data Models
Lesson 18. Building the user model
Lesson 19. Creating and reading your models
Figure 19.1. Example of user-creation form in your browser
Figure 19.2. Users’ index page with linked names in your browser
Lesson 20. Updating and Deleting your Models
Figure 20.1. Users index page with edit links in your browser
Figure 20.2. User edit page in your browser
Figure 20.3. Users index page with delete links in your browser
Lesson 21. Capstone: Adding CRUD Models to Confetti Cuisine
Figure 21.1. Capstone file structure
Lesson 22. Adding sessions and flash messages
Figure 22.1. Successful flash message shown on the /users page
Lesson 23. Building a user login and hashing passwords
Figure 23.1. Example of user login page in your browser
Figure 23.2. Failed user login page in your browser
Figure 23.3. Successful user login page in your browser
Figure 23.4. Show hashed password in user’s show page in browser
Lesson 24. Adding User Authentication
Figure 24.1. Example of a successful login in the browser
Figure 24.2. Example of a successful user logout in the browser
Lesson 25. Capstone: Adding User Authentication to Confetti Cuisine
Lesson 26. Adding an API to Your Application
Figure 26.1. Display of JSON course results in browser
Figure 26.2. Display of courses in MongoDB
Lesson 27. Accessing Your API from Your Application
Lesson 28. Adding API Security
Figure 28.1. Displaying the API token on the user’s show page
Lesson 29. Capstone: Implementing an API
Figure 29.1. Application structure with routes folder
Figure 29.2. Modal button in layout navigation
Figure 29.3. Showing course listing through modal in browser
Lesson 30. Working with Socket.Io
Figure 30.1. Polling between a client and server
Figure 30.2. Opening a web socket connection between a client and server
Lesson 31. Saving Chat Messages
Figure 31.1. Displaying chats with two sockets
Lesson 32. Adding a Chat Notification Indicator
Lesson 34. Deploying your application
Lesson 35. Managing in production
Lesson 36. Testing your application
Lesson 37. Capstone: Deploying Confetti Cuisine
Figure 37.1. Application not loading on Heroku