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
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.
Go through these exercises and learn about the HTTP protocol and the Request and Response flow between a client and a server.
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 📡.
- Setting up a Sinatra project
- Building routes
- Test-driving routes 📡.
- Creating a sequence diagram for a web application
- Test-driving routes that interact with a database 📡.
- Using HTML to create webpages.
- Using ERB to return dynamic HTML.
- Using links to send
GET
requests. 📡 - Using forms to send
POST
requests. - Debugging a web application
- Securing your application
- Deploying your web server (on Render)
Work on the Chitter challenge and open a pull request when you're done.
This is additional reference material so you can learn to use common features and patterns implemented as part of web applications.
- Modelling and Planning a Web application
- Creating and Authenticating users
- Loading CSS or static files