CMPUT 404

Web Applications and Architecture

Articles by Alexander Wong

Lab 9 - Authentication


Learn the basics of authentication for web applications. Explore the provided Django Rest Framework applications utilizing HTTP Basic, HTTP Token, and HTTP Session authentication. Understand the high-level intention behind OAuth/OAuth2 and the security implications behind these different authentication schemes.

Fork and clone the authentication lab repository.

Lab 8 - WebSockets


Learn how to utilize WebSockets and Phaser.io. Create a basic Phaser game with WebSocket connectivity for real-time server to client communication. Use Node.js for our application server. Use TypeScript with Parcel for bundling browser client code.

Install Node.js

There are two different ways you can try to …

Lab 7 - Flask


Create a basic RESTful web application backend using Flask. Consume the API endpoints using cURL and httpie.

Flask

Navigate to a new folder and initialize a new Python virtual environment.

mkdir cmput404lab7
cd cmput404lab7
virtualenv venv --python=python3
source venv/bin/activate

Install Flask.

pip install Flask

Create a new …

Lab 6 - Heroku


Deploy the Django application created in Lab 4 to Heroku. Understand the reasoning behind Platform as a Service (PaaS) businesses like Heroku. You may follow the official documentation.

Setting up the Heroku CLI

Sign up for a free Heroku account at https://signup.heroku.com/.

Download and install the Heroku …

Lab 5 - Pelican & Basic HTML/CSS


Create a static page using Pelican, or write plain html. Deploy using GitHub pages. Learn to style the basic theme.

Answers to the questions should be submitted to Lab 5 on eClass. Feel free to follow along with the official documentation.

aside: These lab instructions are currently using Pelican and …

Lab 4 - Django


Big lab! Build a simple Django website. Understand the fundamentals of Django's MVC architecture using the built in models and views.

Answers to the questions should be submitted to Lab 4 on eClass. You may also follow along with the official documentation. We will be going through Parts 1 to …

Lab 3 - Common Gateway Interface


Explore the Common Gateway Interface. Refer to the CGI documentation.

Answers to the questions should be submitted to Lab 3 on eClass.

Common Gateway Interface

Fork and clone the lab repository. https://github.com/uofa-cmput404/cgi-lab

Activate a python3 virtual environment.

Start the cgi_server.py in a background terminal window …

Lab - TCP Proxy


Create a tcp client, proxy server, echo server in Python. Understand how sockets work in relation to web requests. Use multiprocessing for forking new processes.

Answers to the questions should be submitted to Lab: TCP Proxy on eClass.

Virtualenv & cURL


Virtualenv & Curl Lab

Introduction to CMPUT 404 labs. Setup virtualenv and understand basic usage of curl.

Answers to the questions should be submitted to Virtualenv Lab on eClass.

Git and GitHub

  1. Make a GitHub account or log in to your existing GitHub account.

    • Question 1: What is your GitHub URL …