8. React Project Week Overview

Welcome!

Hello everyone, it's been a whirlwind, but believe it or not, you know more than enough to get your React project started! You've already built projects just like this one using Vanilla JS, HTML, and CSS. The whole idea behind this one is that you'll see how much faster and farther you can build when you use a tool like React.

Learning Objectives

  • Demonstrate your skills learned from Mod 7

  • Develop teamwork skills, including communication, problem-solving, compromise, and task management

  • Strengthen your Git workflow fundamentals, managing branches, navigating merge conflicts, and maintaining a repository

  • Practice Agile methodologies by managing a scrum board and by performing daily stand-up and stand-down.

  • Deploy a project!

  • Practice your technical communication through a presentation.

Deliverables

For this project, your team will collectively be on the hook for the following:

  • A proposal document

  • GitHub Organization (you only need one repo)

  • High Fidelity Wireframe(figma, Miro, draw.io, photoshop etc...)

  • Scrum Board with Backlog, In Progress, and Done

  • A React app that meets the technical requirements listed below

  • A presentation slideshow + Walkthrough demo video

  • A reflection on your use of Agile methodologies

  • A deployed project link

App Overview

Your app will have to use a third party API to fetch data, but instead of only 2 fetches, you'll have to make 3! And unlike your previous projects that all took place using a single page, this time you're going to use client side routing to create multiple "pages"! And while it does not need to be everywhere, you must use context at least once in your app.

There are, of course more specifics below in the checklist, but at its heart, all we're asking for is an app that:

  • makes three fetches ✅

  • is made with React ✅

  • uses client-side routing ✅

  • implements context ✅

APIs and Keys

You are free to use any API that you choose; there are a few things we will require

  • It must be free

  • It should NOT require an API key

    • APIs that require an API key can only be deployed with a proxy server (which you will learn to build in the backend unit)

Deployment

Deployment is a requirement for this project! Check out this resource for deploying a Vite project to Github pages

Project Planning Artifacts

Proposal

As a part of your proposal, you will need to submit a document that includes the following:

  • A mission statement for the app (who its for, what it does, and why they would use it)

  • The API and specific endpoints you plan on using

  • MVP user stories (users can...)

  • Stretch user stories

  • Wireframes of each page in your application

Make a copy of this template that has been provided for you: Product Specification Template

Scrum Board

Your team must create a GitHub Organization and a Scrum board to manage your tasks. Each morning during stand-up, you will update your scrum board and assign tasks.

Use this scrumboard as an example.

To ensure that the scrum board is prioritized, assign one teammember to serve as Project Manager (PM). In addition to the duties of SWE, the PM manages the Scrum Board and holds the team accountable to the scrum board.

Project Presentation

At the end of the project week, your team will present your project to the class in the form of a presentation! The presentation should feature speaking roles by each member of the team and include a short (under 2 minutes) recording of the built application. The entire presentation should last no longer than 5 minutes.

Use the following template and example

Agile Written Reflection

During project weeks at Marcy, you get to practice the Agile Methodology. Your team will:

  • Use agile rituals like daily stand-up to transparently communicate progress and roadblocks.

  • Use agile tools like a scrum board to visualize and manage tasks.

  • Use agile strategies like creating a timeline to guide and structure your priorities.

  • Perform a retrospective and reflect on what went well and what could be improved.

In addition to the technical component of this project, your team will write a short reflection on your week (~250 words) thinking critically about how you and your team practiced the Agile methodology.

The specific questions can be found on Canvas.

Only one reflection per group is required.

Tech Checklist

Project Fundamentals (7)

React Fundamentals (8)

State Management (10)

React Router (3)

Forms & Events (5)

Style (15)

A11y (12)

README (4)

Last updated