Frontend Master

JavaScript Curriculum

Capstone — Coffee Menu App
+120 XP

Capstone — Coffee Menu App

hard
~60 min·120 XP

Everything comes together: the coffee shop menu is a real React SPA — filterable menu, shopping cart with useReducer, theme toggle via Context, item detail pages via Router, and live data via useFetch.

Capstone — Coffee Menu App

Every Chapter 03 skill has a place in this app. This is not an exercise — it is a real, shippable React application.

Your Skill Checklist

Track every React skill as you implement it:

capstone-checklist.md0/20 · 0%
💡Build in layers
(1) Static components with hardcoded data. (2) Add useState for cart and search. (3) Add useEffect to fetch menu from API. (4) Add Context for theme. (5) Add Router for item detail pages. (6) Extract custom hooks. (7) Add React.memo where profiler shows it helps.

Live Coffee Menu App

The fully working app — explore every feature before building your own:

The Grind ☕
Espresso
£2.50
🍵
Cappuccino
£3.50
🧊
Cold Brew
£3.50
🍵
Matcha Latte
£4.00
🥐
Croissant
£2.00
🥪
Sandwich
£4.50

6/6 items

ℹ️The complete architecture
App (Router + Context Providers) → Layout (nav with NavLink) → MenuPage (useFetch + search + filter + cart dispatch) → ItemDetail (useParams + useFetch) → CartPage (useReducer state) → custom hooks: useFetch, useCart, useTheme.

Chapter 03 Complete

All 20 React Fundamentals lessons:

🏆
Chapter 03 — React Fundamentals
20 lessons · from JSX to full production-grade patterns
1,200+ XP
total available
20/20 lessons complete

You can build production React apps. Chapter 04 → TypeScript + Next.js is next.

Your Challenge

Build the Coffee Menu App from scratch. Checklist requirements: JSX + components, props with spread, useState cart, functional updates, event handlers, conditional rendering (0 trap fix), .map() with key={id}, controlled search input, useEffect fetch with AbortController, named slots in Card, lifted state for search+filter, custom useFetch hook, Context for theme, React Router with 3 routes (Home, Menu, ItemDetail).

Challenge

Build the full Coffee Menu App. All 18 checklist items must be ticked. Minimum: components with props, useState cart, useEffect fetch, one Context (theme or cart), React Router with at least 3 routes, a custom hook, and controlled search input.

capstonecoffee-menu-appfull-react-appuseStateuseEffectuseContextuseReduceruseFetchReact Routercustom-hookscontrolled-forms
Capstone — Coffee Menu App | Nexus Learn