Skip to content



NodeJS is a runtime for Javascript-based server applications, which has gained popularity in recent years because of its flexibility and ability to handle many concurrent connections. We ask that you write your server-side application in NodeJS, as you will need to write your frontend in Javascript anyway; meaning you (at worst) have to familiarize yourself with a single new language.

While we will cover some of the fundamentals of NodeJS in recitation, you may need to spend additional time on some of the basics if you are not yet familiar with Node. Here are some resources to help you become familiar with Node:

  • learnyounode
    A CLI-based walkthrough of the basic patterns of NodeJS.

  • Promises for Dummies
    Promises are a programming pattern for simplifying asynchronous code.

  • RxJS Tutorial
    RxJS provides a set of library for reactive programming.


To get started, follow the instructions on setting up your project repository provided in the starter repository.

!> We realize that this assignment introduces lots of new technologies at once. You should plan on coming to office hours, as the TAs will be glad to help!