Week 3 – Frontend Deployment

INCS 1008 Software Studio

Goal

Build and deploy a simple landing page for both frontend repos: frontend-<team>-airline and frontend-<team>-travel. You may use AI assistance. I only care that a real page is deployed successfully and that it exposes the required test hooks below.

Deliverable: your stage frontend must load at https://stage.<team>-airline.incs1008.com and https://stage.<team>-travel.incs1008.com. After stage is verified, merge to main/master so the prod workflow deploys to https://<team>-airline.incs1008.com and https://<team>-travel.incs1008.com.

Required HTML IDs

Include these exact element IDs. I will evaluate your deployed page against them:

The page can be visually simple. The important part is that those IDs exist on the deployed page and the page renders without errors.

Workflow Files

Copy these templates from workflow-examples into each frontend repo under .github/workflows/:

Then update the environment variables in each deploy workflow:

Use Terraform outputs from infra/terraform/ to find the bucket names and CloudFront distribution IDs.

Deployment Flow

  1. Open a pull request to develop in each frontend repo.
  2. pr.yml should run your frontend tests.
  3. After merging into develop, the stage workflow builds the app, uploads the static bundle to S3, and invalidates CloudFront.
  4. Verify the deployed stage URL in the browser.
  5. After stage is healthy, open a PR from develop to main/master.
  6. When that PR is merged, the prod workflow deploys the same app to the prod S3 bucket + CloudFront distribution.

Validation

Example deployed airline frontend: stage.white-airline.incs1008.com / white-airline.incs1008.com

I will validate that your page loads and that the required element IDs are present.

Grading Breakdown

Criterion Points
git-flow-develop1
git-flow-feature-branch-naming1
git-flow-pull-requests-to-develop1
frontend-airline-landing-page8
frontend-travel-landing-page8
frontend-airline-required-components7
frontend-travel-required-components7
frontend-airline-stage-deployment5
frontend-travel-stage-deployment5
frontend-airline-prod-deployment5
frontend-travel-prod-deployment5
in-class-instructor-assessment27
Total80