Week 2

Overview

The focus of this week is:

  • Introducing web fundamentals
  • Server-side development
  • Introducing web accessibility
  • Application deployment
  • Testing server functions

This week we will start our journey of server-side development. We will build and serve dynamic web pages that use data from files located on the server. We will also accept data from our users, save the data, and display it on other pages. Once we're happy enough with the application, we'll deploy it so it can be used by anyone on the internet.

Core concepts

  1. Express servers
  2. Templated vs. static views
  3. Server-side debugging
  4. HTTP GET and POST requests
  5. Client interactions and accessible web pages
  6. Deploying web applications

Learning outcomes

By the end of this week you should be able to:

Server-side rendering

  • serve static web pages and assets from a Node.js application
  • name the important parts of an HTTP request
  • know when to use GET and when to use POST
  • define new Express.js GET and POST routes
  • retrieve data from asynchronous functions within Express routes
  • redirect from one route to another (particularly when POSTing)

HTML templating

  • configure Handlebars into an Express app
  • combine text data with Handlebars templates to generate HTML
  • write placeholders in a Handlebars template and understand its relationship to the data being rendered
  • write a test that ensures the template is working as expected

Human Skills

  • balance my needs and preferences with the group's
  • list things to do and not do when working in a group
  • explain the importance of communication when working on a team
  • write user stories in a familiar and consistent format

Deployment

  • deploy a site to Dokku
  • list a number of gotchas to keep in mind during deployment