Web applications

Coaching this? Read the coach guidance here.

In this module you will learn to:

  • Explain how HTTP requests and responses work at a high level
  • Write integration tests for a web application
  • Implement web routes using a lightweight web framework
  • Follow a debugging process for a web application
  • Deploy a web application using a light cloud service such as Render

Sequence

Work through each of these exercises in sequence.

This module is designed to be worked on during a week. Here's a suggested pace — you might find you need more (or less) time than this to complete the challenges, and that's OK.

  • Day 1: HTTP
  • Days 2 & 3: Sinatra Challenges.
  • Days 4 & 5: HTML & ERB
  • Solo challenge at the end of the week.

Phase One: HTTP

Go through these exercises and learn about the HTTP protocol and the Request and Response flow between a client and a server.

  1. Introduction to HTTP.
  2. Requests and Responses
  3. Sending request with parameters

Phase Two: Sinatra

Go through these exercises and learn how to setup and gradually build a program which exposes a database through HTTP endpoints.

Some of these challenges include Process Feedback Challenges, in which you record yourself performing the task and share it with your coach for feedback. These are tagged with a 📡.

  1. Setting up a Sinatra project
  2. Building routes
  3. Test-driving routes 📡.
  4. Creating a sequence diagram for a web application
  5. Test-driving routes that interact with a database 📡.

Phase Three: Building webpages

  1. Using HTML to create webpages.
  2. Using ERB to return dynamic HTML.
  3. Using links to send GET requests. 📡
  4. Using forms to send POST requests.
  5. Debugging a web application
  6. Securing your application
  7. Deploying your web server (on Render)

Phase Four: Solo challenge

Work on the Chitter challenge and open a pull request when you're done.

Going further

This is additional reference material so you can learn to use common features and patterns implemented as part of web applications.

  1. Modelling and Planning a Web application
  2. Creating and Authenticating users
  3. Loading CSS or static files

How was this resource?
😫 😕 😐 🙂 😀
Click an emoji to tell us.