Tech Tracks
Build SoftwareBeginner 21 lessons · 12.5 h

Web Development with React

Build modern websites and web apps with React and TypeScript.

A complete path from how the web works to production React: modern JavaScript, components, state, effects, routing, Tailwind, TypeScript, state management, Next.js, testing, performance and accessibility, ending with a project you deploy.

You will be able to

  • Build React apps with components, state and hooks
  • Fetch data, handle forms and route between pages
  • Style with Tailwind and write TypeScript components
  • Choose a state management approach
  • Know when to use Next.js
  • Test, optimise and deploy a React app

Who it's for

Beginners who want to become frontend or full-stack developers, and backend developers picking up React.

Before you start

Comfort using a computer and a code editor

Roles it leads to

Frontend developerFull-stack developerReact developer

Lessons

Module 1

Web foundations

HTML, CSS and the JavaScript React relies on.

Module 2

React core

Components, props, state, effects and hooks.

Components and JSX

Build the Brew & Bean page from small components and learn the rules of JSX: one parent, className, braces for JavaScript, and imports and exports between files.

Props and composition

Make components reusable with props, understand why props are read-only, and build wrapper components with children. Your menu cards start showing real Brew & Bean data.

State and events

Make the Brew & Bean page interactive with useState and event handlers. Build a working cart, learn why state must never be mutated, and see how to lift state up.

Lists, keys and conditional rendering

Turn arrays of data into lists of components with map(), understand why every item needs a stable key, and show or hide parts of the screen with conditional rendering. You will build a filterable Brew & Bean menu.

Forms and validation

Build a Brew & Bean pickup-order form with controlled inputs, one shared change handler, validation on submit and clear error messages. Learn why the server must still check everything.

useEffect and fetching data

Learn what an effect is, how the dependency array works, and how to fetch data safely with loading and error states, cleanup and cancellation. You will load the Brew & Bean menu from a JSON file.

Custom hooks

Learn the rules of hooks and how to pull repeated stateful logic into your own functions. You will write useFetch, useLocalStorage and useDebounce hooks and use them to build a Brew & Bean cart that survives a page refresh.

Module 3

Building real apps

Routing, styling, TypeScript, state, Next.js, quality.

Routing with React Router

Turn a single-page React app into a multi-page experience with React Router: routes, links, a shared layout, URL parameters, redirects, a 404 page and navigation from code. You will build the Brew & Bean site with Home, Menu, Item and Order pages.

Styling: CSS modules and Tailwind CSS

Learn two popular ways to style React components: CSS Modules, which scope plain CSS to one component, and Tailwind CSS, which uses small utility classes. You will style a Brew & Bean menu card both ways and learn when to pick which.

TypeScript with React

Add types to a React app so mistakes show up in your editor instead of in the browser. Learn types for props, state, events, fetched data and custom hooks by typing a Brew & Bean order screen.

Managing app state: Context, Zustand and server state

Learn to sort state into kinds and pick the right tool for each: useState, lifting up, Context, Zustand, or TanStack Query for data from a server. Avoid the most common mistake: putting everything in one global store.

Next.js: server rendering and when you need it

Understand client-side vs server rendering, then build a small Next.js app with file-based routes, server components that fetch data, a dynamic page and one interactive client component. Learn when Next.js is worth it and when plain React is enough.

Performance and accessibility

Learn what makes a React app feel slow, how to measure it before fixing it, and the handful of techniques that matter most. Then learn the basics of accessibility so keyboard and screen reader users can use your app too.

Testing React components

Set up Vitest and React Testing Library in a Vite project, then write tests that act like a user: render a component, click, type, and wait for fetched data. Learn what to test, how to mock fetch, and how to read a failing test.

Module 4

Project and career

Build, deploy and prepare for interviews.

Tools, courses & exams

Hand-picked, free first. Free tiers and exam fees change, so check the provider's page.

Free tools

Free courses

Official docs

Practice

Exams & certifications