Learning NodeJS

These are the activities included in the node sample project that we work on throughout the program. No prior NodeJS experience is required, but you should be comfortable with JavaScript.

Note that this project is not coherent. It's simply a mish-mash of activities to help students learn NodeJS and how it can be used for developing web applications.

Web 2

  1. Setting up the project
  2. File IO in NodeJS
  3. TODO: Make a video that shows how to use the debugger to step through the code.
  4. A very simple web server
  5. NPM
  6. Creating custom modules
  7. Getting started with Express
  8. EJS Templates
  9. The body-parser package
  10. The user-helpers module

Web 3

  1. OPTIONAL: Making the user-helpers asynchronous (callback hell)
  2. HTTP and Form Handling (http-sample-app.js & sample-form.html)
  3. File Uploads (file-upload.html & file-upload-sample-app.js)

Web 4

  1. Middleware
  2. Error Handling
  3. Environment Variables and dotenv
  4. Using bcrypt to Hash Passwords
  5. Cookies
  6. Sessions
  7. Organizing Routes into Separate Files
  8. Unit Testing with Jest - grading-helpers module
  9. Test-driven Development Assignment - Artist Model Object
  10. Helmut
  11. CORS
  12. Logging

Links to resources (for the Web 4 lessons):

  1. Using Middleware
  2. Middleware in Express JS
  3. Express Error Handling
  4. Node Error Handling
  5. Another one on Express error handling
  6. NODE_ENV (environment variable)
  7. Unit Testing
  8. Hashing Securely
  9. Salting and Hashing
  10. Express cookies and sessions
  11. More info on cookies
  12. Session based authentication
  13. Storing session data in MySQL
  14. Securing JavaScript Apps