Welcome to the Code the Dream’s Node/Express class!
Node, short for Node.js, is an implementation of the Chrome JavaScript engine, but one that runs outside of the browser, so that it can be used to write standalone programs as well as web serving applications. Express is a framework for Node that makes the creation of web applications very easy. These are complemented by a vast library of NPM packages to make adding common functions easy. The combination is a leading framework throughout the IT industry, and continues to grow in adoption. And, all programming in Node and Express is in JavaScript, so the back end engine for an application can be written in the same language as the front end.
Here is a cheat sheet for some concepts used in this course.
Below is a quick outline of this course. Remember to keep pace with the
mentor groups, and don’t hesitate to ask lots of questions! Slack is the best place for your questions, and you have a Slack channel for the purpose. Get oriented on the Student Resources page. Students are expected to attend at least two Mentor Sessions a week. Sign up for mentor sessions using the Calendly links below.
Course Calendar
Week | Start Date | Due Date | Lessons |
---|---|---|---|
0 | 10/05/22 | 10/11/22 | Machine Setup Github Cookbook AND Pre-Class Info |
1 | 10/12/22 | 10/18/22 | Node Introduction |
2 | 10/19/22 | 10/25/22 | NPM and Async Patterns |
3 | 10/26/22 | 11/01/22 | Introduction To Express |
4 | 11/02/22 | 11/08/22 | Middleware, REST Methods, and Postman |
5 | 11/09/22 | 11/15/22 | Task Manager API Part 1 |
6 | 11/16/22 | 11/22/22 | Task Manager API Part 2 |
11/23/22 | 11/29/22 | HOLIDAY – review, work ahead, or relax! | |
7 | 11/30/22 | 12/06/22 | Using Query Parameters |
8 | 12/07/22 | 12/13/22 | JWT Basics |
9 | 12/14/22 | 12/20/22 | Jobs API Part 1 |
12/21/22 | 01/03/23 | HOLIDAY – review, work ahead, or relax! | |
10 | 01/04/23 | 01/10/23 | Jobs API Part 2 |
11 | 01/11/23 | 01/17/23 | Catch Up Week |
12 | 01/18/23 | 01/24/23 | A Front End for the Jobs API |
13 | 01/25/23 | 01/31/23 | Server Side Rendering with EJS |
14 | 02/01/23 | 02/07/23 | Authentication with Passport |
15 | 02/08/23 | 02/14/23 | Testing with Mocha and Chai |
16 | 02/15/23 | 02/21/23 | Final Project Begins |
17 | 02/22/23 | 02/28/23 | Final Project Completed |
03/01/23 | 03/03/23 | Final Project Presentations | |
03/13/23 | 05/09/23 | PRACTICUM |
For the final project, each student implements an Express application that includes authentication and CRUD operations to a MongoDB database. The application may be implemented as APIs plus a front end (full stack) or using Server Side Rendering with EJS templates. The rubric is below:
Rubric for Express Final Project
A sample final project is described here. The provided sample is for EJS, but all students should read the description at the link, as it provides an important introduction to security in web applications. Look at the rubric for a warning about reusing this code.
Mentor Information
Traditional / Group Mentors
Traditional Mentors are volunteer mentors who will host one or more one-hour long group sessions weekly. Typically these sessions are question-answer format so be sure to bring your questions from covering your learning materials or working on your coding assignment to the session. To sign up for a group mentor session:
- Click this link to be taken to the your class Mentor Session Sheet – a Google Spreadsheet
- Find the session(s) you wish to attend for the week and list your name in that column. The document auto-saves so other than typing your name, there’s nothing else you need to do!
- By appointment mentor Calendly links are also listed in the first column of that spreadsheet. You can use those links or the links below to sign up for one on one sessions.
If you need help finding your way around the spreadsheet, watch the video below.
NOTE: This recording was for a previous class, so dates and names in the video will not match dates and names for this class!
1:1 / By Appointment Mentors
By Appointment Mentors are volunteer mentors who will help you one-on-one. If you’re unable to make a group session, or would just like to have one-on-one assistance, use the links below. To sign up for a one on one session:
- Click on the orange “Sign Up with this Mentor” button under the mentor with whom you want to meet
- This will open their Calendly page in a new window. Click on the blue circled date for the day you want to meet with them. A list of times they’re available that day will appear on the right side of the calendar. If a day does not have a blue circle, they are not available that day.
- Click on the time to the right of the calendar to select what time you want to meet with them
- Click Confirm
- Use the instructions or link in the email confirmation you receive after clicking Confirm to join your session on the day and at the time you selected