WDD 430: Web Full-Stack Development

W05 Assignment: Sacrament Meeting Planner

Overview

Build on your Sacrament Meeting Planner by adding basic authentication flow and meaningful metadata.

Requirements

This week you will add two capabilities to your app:

Instructions

Leveraging AI

You may use AI to ask conceptual questions, diagnose errors, and generate small snippets. You are responsible for understanding, testing, and explaining all code in your submission.

Review the course AI Policy.

Implement authentication basics

Use this week's Adding Authentication activity as your reference.

  1. Configure authentication in your app (Auth.js credentials or your selected provider approach from class guidance).
  2. Create a login page and a sign-out action/button.
  3. Protect at least one route (for example, your meetings management area) so unauthenticated users are redirected to login.
  4. Verify the full flow: login, access protected route, and logout.

Implement metadata basics

Use this week's Adding Metadata activity as your reference.

  1. Add site-level metadata in your root layout (default title/description).
  2. Add route-specific metadata to at least one key page in your planner.
  3. Include an Open Graph image (or document why one is not yet available).
  4. Confirm your page source includes expected title and meta description tags.

Run quick quality checks

  1. Run local checks before submission:
    npm run lint
    npm run build
  2. Manually test the auth and metadata outcomes in your browser.
  3. Use AI for a quick correctness review focused on auth flow, route protection, and metadata completeness.

Submission Instructions

Submit the following in the text entry area in Canvas:

Project Links

  1. GitHub repository URL for your sacrament-meetings repository.
  2. Vercel deployment URL for the version that includes this week's authentication and metadata updates.

Short Reflection

  1. A short summary of what you implemented for authentication, including which route you protected.
  2. A short summary of what metadata you added and where.
  3. A brief reflection on one challenge and how you resolved it (including AI support, if used).