Skip to main content
Version: v1.4

✏️ 3.3.3.1 Help Queue, Merch Site, Event Logger

Goal: You've been following along with the Help Queue lessons through the previous two segments — now apply those same patterns to a project of your own. Build a site with Create and Read functionality, plan your component tree carefully, and draw a component diagram to include in your README.

Warm Up


  • What is unidirectional data flow? Why is it important?
  • What is a UUID? How are they useful?
  • How can a method in a parent component have access to data in child components if data can only flow down, not up?

Code


Choose one of the following projects. Your application should allow users to create new items and view a list of them. Plan your component structure before you start coding.

Merch Site

Build a website for selling merchandise for a band, author, sports team, or any other purveyor that interests you.

A user should be able to do the following:

  • Add new items to the store. Items should have fields for name, description, and price (along with any other fields you wish to add).
  • View a list of all items in the store.

Event Logger

Nope, this isn't a site for console.log(). Create a site for logging a specified type of real-world event — for instance, a site for birdwatchers to log sightings of birds, celebrity watchers to log sightings of pop stars, or board game players to log their plays of games.

A user should be able to do the following:

  • Add new event types to track. For instance, in a bird-watching application, a user might add "Spotted Sandpiper" as a type of sighting to log.
  • View a list of all event types.

Instructor/Peer Code Review


  • Application effectively uses local and shared state.
  • Application was well-planned and utilizes unidirectional data flow.
  • TypeScript types are defined for all component props.
  • Users can create and view items.
  • Application includes a component diagram in the README.