Web Development


This course will cover server side development from first principles. We won't use any frameworks, and will focus on the HTTP request/response cycle. After this course, you'll have a good understanding of HTTP, the protocol behind the internet. You'll also have built your first dynamic web application from scratch. Finally, we'll talk about various deployment options, and deploy the application to Heroku.


Programming and Back-end Development

Detailed Syllabus

The HTTP Protocol

  • Understanding the HTTP Protocol
  • Using Telnet to explore HTTP
  • Using the Chrome debugger tools
  • The request / response cycle

Handling HTTP Requests

  • A simple echo server
  • Parsing paths and parameters
  • Sending a complete HTTP response
  • Dealing with empty HTTP requests
  • Persisting states in the URL

Project: Build a Book Reading App

  • How routes work
  • Rendering templates
  • Project: build a book reading app
  • Showing table of contents
  • Adding a chapter page
  • Using layouts to remove duplication between templates
  • Working with route parameters
  • Working with filters
  • View helpers
  • Redirecting
  • Adding a search form

Project: Build a Todo List

  • What is state?
  • Viewing all todo list
  • Creating a new todo list
  • Designing URLs
  • Clearing cookies
  • Flash messages
  • Validations
  • Capturing template content for display elsewhere
  • Editing todo lists
  • Deleting todo list
  • Adding todos to a list
  • Marking todos as completed
  • Completing all todos in a list
  • Using view helpers to apply styles
  • Sorting and filtering with helpers

Securing Applications

  • Sanitizing HTML
  • Handling bad input

Adding JavaScript

  • Including JavaScript files
  • Confirming destructive actions
  • Making HTTP requests from JavaScript