Weekly log

This is the weekly log with notes from the course round. It gives some insights into what happend each week during the course. This is not the actual plan, it is mere a log, made after the events have happend, so it might give you some idea on what you can focus on each week.

Each week the following activities take place.

  • Wednesday zoom with Mikael (to be recorded)
  • Friday tutoring with Per & Sebastian

Week 1 (w45)

Install the lab environment and play around with Node.

Wednesday zoom:

  • The course intro is held.

  • A walkthrough of Node.js as a programming environment. We check out a few example programs (the example repo) when dealing with Node CLI programs.

    • main
    • node-import
  • We review example programs on how to write a hello world program, async and await, a menu driven CLI application and how to structure our code in modules and classes.

    • async-await
    • cli
  • Check out how to create your own development environment with tools for code style and validation.

    • Details in package.json

Review the following lectures:

  • L01: The Node.js platform

Work with exercises on your own:

  • Rotten tomatoes

Roughly read about A01 and start by preparing the repo with its development tools for codestyle and linters.

Week 2 (w46)

Review the following lectures:

  • L02: Web Servers
  • L03: HTTP

Wednesday zoom:

  • Review some example (example repo) on how to work with Node.js and build the basic structure of a web service/server.

    • the-smallest-node-server
  • Review more example on how to work with Node.js and build a RESTFul server using different request methods of the HTTP protocol.

    • a-web-server-using-node-http-module
    • a-restserver-using-node
  • We alse review a few examples on how to do a HTTP request from a client program.

    • cli-command-line-arguments
    • do-http-request

Work with exercises on your own:

  • Promising Web Scraper
  • Finding Waldo

Continue working with A01.

Week 3 (w47)

Review the following lectures:

  • L04: Web Application Architecture

Wednesday zoom:

  • The assignment A02 is presented.

  • A quick check on the example program for the dev environment.

    • dev-environment
  • How to get going with Express.js and reviews a few code sample in the example repo.

    • express-hello
    • express-app-diy
    • express-app

Work with exercises on your own:

  • Follow the route

Work with A01 & A02.

Submit A01.

Week 4 (w48)

Review the following lectures:

  • L05: Persistent data

Wednesday zoom:

  • How to get going with Express.js and persistant data and storage and reviews a few code sample in the example repo.

    • express-form-submit (show GET and POST forms with result pages)
    • express-crud (with controller-style CRUD flow)
    • express-mongoose (to see how one can store and retrieve items from a document database)
    • (express-mongoose-mvc extra example with improved MVC style in the application)

Work with exercises on your own:

  • Pure approval

Work with A02.

Week 5 (w49)

Review the following lectures:

  • (L05 has a part on how to use the session)
  • L06: Access Control
  • L07: Web Security

Wednesday zoom:

  • How to work with sessions in Express.

    • express-session-game
  • How to deal with authorization in Node and Express using sessions.

    • express-authentication
  • How to protect oneself from common attacks and flaws.

    • express-attack

Work with A02.

Week 6 (w50)

Review the following lectures:

  • L08: Real-time web
  • L09: Production

Wednesday zoom:

  • The assignment A03 is presented.

  • How a chat using WebSockets can be implemented server-side using Node.

  • About setup your own virtual server and install the essentials.

Check that your vhost is working and you can connect to it.

Work with A03.

Submit A02 and create a presentation video.

Week 7 (w51)

No scheduled events. Work with the assignment.

Week 8 (w52)

No scheduled events. Work with the assignment.

Week 9 (w53)

No scheduled events. Work with the assignment.

Week 10 (w01)

No scheduled events. Work with the assignment.

Week 11 (w02)

Submit A03 and create a presentation video.