Week 7

Front end Track

Week 7 Project: Mid-Track Project

Overview

You've spent the past six weeks building a strong foundation: semantic HTML, responsive CSS, TypeScript, React components, state management, data fetching, routing, and deployment. This week you apply all of it to a project of your own choosing.

There is no prescribed topic. Pick something you find genuinely interesting: a domain you'd enjoy spending a week in. What matters is that your project meets the technical requirements below, not what it's about.

By the end of the week you'll have a deployed, multi-page React application you built yourself, followed by a technical interview where you'll walk through your decisions with a mentor.

Choosing Your Project

Your project needs a public REST API that returns list and detail data β€” a list of items you can browse, and individual items you can view in detail. This naturally fits the two-page pattern the project requires.

Some ideas to get you started:

Domain API
Movies & TV TMDB API
Recipes MealDB API
Countries REST Countries
Books Open Library API
GitHub profiles GitHub API
Music iTunes Search API
PokΓ©mon PokeAPI
Weather OpenWeather API
Sports API-Football

You are not limited to this list. If you have an API in mind that interests you more, use it β€” check first that it's free, doesn't require complex OAuth, and returns enough data to build a list and detail view.

<aside> πŸ“Œ

Note

Before you start building, complete the Project Brief at the bottom of this document. This takes 20 minutes and prevents you from spending days going in the wrong direction.

</aside>

Technical Requirements

Every project must meet all of the following requirements regardless of topic. These are not optional β€” they exist to make sure you practice everything from weeks 1–6.

Pages and routing

Data fetching

Forms

TypeScript

Styling

Deployment

Code quality

What You're Not Expected to Do

Keep scope tight. A well-built two-page app is better than a half-finished five-page one.

Deliverables

By the end of the week, submit:

  1. GitHub repository URL β€” public, with a descriptive README that includes what the project does and how to run it locally
  2. Live Vercel URL β€” deployed and accessible
  3. Completed project brief β€” the one you submitted at the start, updated if anything changed during the week

Project Brief Template

<aside> πŸ“Œ

Complete this before you start building. Copy this template into your own note-taking application before modifying it.

</aside>


Project name:

Your name:

In one sentence, what does your app do?


The API

API you are using:

Link to the API documentation:

Does it require an API key?

Paste an example API response (just the first item if it's a list):



Pages

Page 1 β€” path: /

What it shows:

Page 2 β€” path: (e.g. /movies)

What it shows:

Page 3 β€” path: (e.g. /movies/:id) ← this must be a dynamic route

What it shows: