Where do you look things up, and what should you bookmark first?
One master list of every link in this course, with the three official docs to bookmark before anything else.
Three to bookmark before anything else
Every link in the course lives here, so you do not hunt through chapters for a reference. Before the rest, bookmark three: the React docs, the Next.js docs, and the Next.js Learn course. Most questions in this roadmap trace back to one of them.
I want to learn [topic] properly. Point me to the exact page in the official React or Next.js docs that covers it, and give me the page title so I can find it myself.
This is the full resource list for the course. Out of all of it, bookmark the React docs, the Next.js docs, and the Next.js Learn course first.
Additional Resources
Explore these carefully curated resources to deepen your understanding and practice the concepts covered in this lesson.
React
DocumentationThe official React docs and tutorial. Start here for anything React.
https://react.dev/learn
Next.js: Documentation
DocumentationThe official Next.js docs, the reference for the App Router, routing, and data fetching.
https://nextjs.org/docs
Next.js: Learn
DocumentationThe official guided Next.js course that builds a real app step by step.
https://nextjs.org/learn
Node.js
DocumentationInstall Node.js (the LTS version). It runs your tooling and dev server.
https://nodejs.org
Git
DocumentationInstall Git, the version control you commit and push with.
https://git-scm.com/
GitHub
DocumentationCreate an account to host your repositories and collaborate.
https://github.com/
Generate a new SSH key
DocumentationCreate an SSH key so you can push to GitHub without typing a password each time.
https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
Add an SSH key to GitHub
DocumentationRegister your SSH key with your GitHub account to finish the setup.
https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account
GitHub: Get started
DocumentationThe official starting point for Git and GitHub basics, from first commit to pull requests.
https://docs.github.com/en/get-started
Visual Studio Code
DocumentationThe editor most of this ecosystem uses, with strong TypeScript and React support.
https://code.visualstudio.com/
React Developer Tools
DocumentationThe browser extension for inspecting the React component tree and props while you debug.
https://react.dev/learn/react-developer-tools
Prettier
DocumentationAn opinionated code formatter that ends style debates by formatting on save and in a pre-commit hook.
https://prettier.io/docs/
Husky
DocumentationGit hooks made easy, so checks like lint and format run automatically before a commit or push.
https://typicode.github.io/husky/
Conventional Commits
DocumentationA commit message convention that gives you a readable history and automated changelogs.
https://www.conventionalcommits.org/
What Are AI Hallucinations?
ArticleIBM explains why AI models produce confidently wrong answers, and why you have to verify what they tell you.
https://www.ibm.com/think/topics/ai-hallucinations
Spec-driven development with AI: get started with a new open source toolkit
ArticleWhy writing a spec first beats winging it prompt by prompt, the idea behind the spec-driven beat.
https://github.blog/ai-and-ml/generative-ai/spec-driven-development-with-ai-get-started-with-a-new-open-source-toolkit/
User Stories With Examples and a Template
ArticleWhat user stories are, how to write them, and how acceptance criteria confirm a story is done.
https://www.atlassian.com/agile/project-management/user-stories
What is a Product Requirements Document (PRD)?
ArticleHow teams define what to build and for whom before development starts.
https://www.atlassian.com/agile/product-management/requirements
What is a Minimum Viable Product (MVP)? How to Get Started
ArticleWhy shipping a simpler version on time beats waiting for perfection.
https://www.atlassian.com/agile/product-management/minimum-viable-product
Prioritization frameworks
ArticleHow to rank work by value and decide what to cut or defer when time runs short (RICE, MoSCoW, value vs effort).
https://www.atlassian.com/agile/product-management/prioritization-framework
Git feature branch workflow
ArticleHow isolating work in feature branches keeps two people off the same code.
https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow
Definition of Done
ArticleWhat a shared "ready to merge" bar is and why the team agrees on it up front.
https://www.atlassian.com/agile/project-management/definition-of-done
Recharts
DocumentationComposable charts built on React and D3.
https://recharts.org
Next.js: Fetching data
DocumentationHow to fetch data in Server Components with no client library, the default this lesson recommends.
https://nextjs.org/docs/app/getting-started/fetching-data
TanStack Query
DocumentationCaching, refetching and sync for server state managed on the client.
https://tanstack.com/query
SWR
DocumentationVercel's leaner stale-while-revalidate data-fetching hook for the common case.
https://swr.vercel.app
date-fns
DocumentationModular date functions you can tree-shake, import only what you use.
https://date-fns.org
Day.js
DocumentationA tiny library (under 2 KB) with a familiar, chainable API for formatting and comparing dates.
https://day.js.org
React Hook Form
DocumentationPerformant forms with minimal re-renders, built around uncontrolled inputs, with the largest ecosystem.
https://react-hook-form.com
TanStack Form
DocumentationStrict TypeScript inference and first-class async field validation, the same API across frameworks.
https://tanstack.com/form/latest
Bundlephobia
ArticleCheck the real bundle cost of an npm package before you add it.
https://bundlephobia.com
Next.js App Router
DocumentationFile-based routing, layouts, and dynamic segments in the App Router.
https://nextjs.org/docs/app
Zustand
DocumentationMinimal global state with a tiny API, no boilerplate, no provider required.
https://zustand.docs.pmnd.rs
Tailwind CSS
DocumentationUtility-first CSS you compose directly in your markup, no separate stylesheet to maintain.
https://tailwindcss.com
shadcn/ui
DocumentationCopy-paste components built on accessible primitives (Radix UI by default) and Tailwind CSS that live in your repo.
https://ui.shadcn.com
Zod
DocumentationTypeScript-first schema validation with type inference built in, and the most widely adopted of the three.
https://zod.dev
Valibot
DocumentationModular schemas that tree-shake, so only the validation rules you use ship in your bundle.
https://valibot.dev
ArkType
DocumentationSchemas written in TypeScript-like syntax, with very fast runtime validation.
https://arktype.io
MDN HTTP Authentication
DocumentationHow HTTP authentication schemes work, including Bearer tokens and the Authorization header.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Authentication
Next.js proxy (formerly middleware)
DocumentationThe proxy file runs before a request completes to redirect or rewrite based on auth state; it was called middleware before Next.js 16.
https://nextjs.org/docs/app/api-reference/file-conventions/proxy
Next.js: Authentication
DocumentationHow authentication, sessions, and authorization fit together in a Next.js app.
https://nextjs.org/docs/pages/guides/authentication
Better Auth
DocumentationA framework-agnostic TypeScript auth library that handles sessions, cookies, and providers so you do not roll your own.
https://www.better-auth.com
MDN CORS
DocumentationHow the browser enforces the same-origin policy and what the server must send to allow cross-origin requests.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CORS
Next.js Environment Variables
DocumentationHow Next.js separates server-only variables from variables exposed to the browser via NEXT_PUBLIC_.
https://nextjs.org/docs/app/building-your-application/configuring/environment-variables
TanStack Query Queries guide
DocumentationQuery status (pending, error, success) and the isPending / isError booleans this lesson branches on.
https://tanstack.com/query/latest/docs/framework/react/guides/queries
Next.js: loading.js
DocumentationThe route-level loading fallback for server-fetched data, which pairs with a client library's states for revalidation.
https://nextjs.org/docs/app/api-reference/file-conventions/loading
MDN Fetch API
DocumentationThe browser's built-in primitive for making HTTP requests.
https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API
MDN HTTP response status codes
DocumentationThe full list of HTTP status codes an API can return and what each one means.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status
openapi-typescript
DocumentationGenerate TypeScript types straight from an OpenAPI or Swagger spec, so your types track the real API.
https://openapi-ts.dev
Next.js project structure
DocumentationOfficial guide to App Router folders and file conventions.
https://nextjs.org/docs/app/getting-started/project-structure
Husky git hooks
DocumentationTool for adding git hooks to your project with minimal configuration.
https://typicode.github.io/husky/
Next.js useSearchParams
DocumentationHow to read the current query string in a client component, the natural place to hold active filters.
https://nextjs.org/docs/app/api-reference/functions/use-search-params
nuqs
DocumentationType-safe search params state for Next.js, so filters read and write to the URL with the ergonomics of useState.
https://nuqs.dev
TanStack Query paginated queries
DocumentationHow to fetch one page at a time and keep the previous page on screen while the next one loads.
https://tanstack.com/query/latest/docs/framework/react/guides/paginated-queries
MDN disabled attribute
DocumentationHow the disabled attribute changes behavior, focus, and accessibility for form controls.
https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/disabled
Next.js Server and Client Components
DocumentationHow Server Components decide what to render before any markup reaches the browser.
https://nextjs.org/docs/app/getting-started/server-and-client-components
CASL React
DocumentationA reusable Can component that renders its children only when the current user is allowed the action, so the check lives in one place.
https://casl.js.org/v7/en/guide/intro
MDN Geolocation API
DocumentationHow the browser exposes position, the permission prompt, and the error callback.
https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API
react-map-gl
DocumentationThe actively maintained React wrapper (vis.gl) for Mapbox GL and the free MapLibre, with map and marker components.
https://visgl.github.io/react-map-gl/
MDN WebSocket API
DocumentationThe browser primitive for a two-way, persistent connection between client and server.
https://developer.mozilla.org/en-US/docs/Web/API/WebSocket
Socket.IO
DocumentationA library over WebSockets that adds reconnection, rooms, and fallbacks, with a browser client for React.
https://socket.io/docs/v4/
Google Maps marker clustering
DocumentationHow to group nearby markers into clusters that split apart as the user zooms in.
https://developers.google.com/maps/documentation/javascript/marker-clustering
MDN Notifications API
DocumentationThe browser API for displaying system notifications to the user.
https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API
MDN Server-sent events
DocumentationA one-way stream from server to client over a single HTTP connection.
https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events
MDN ARIA live regions
DocumentationHow to announce dynamic updates to screen reader users without moving focus.
https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Live_Regions
MDN ARIA
DocumentationReference for ARIA roles, states, and properties.
https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA
web.dev Accessibility
DocumentationPractical accessibility guidance with examples and audit tools.
https://web.dev/accessible/
Playwright accessibility testing
DocumentationHow to run axe-core accessibility scans inside Playwright tests.
https://playwright.dev/docs/accessibility-testing
Playwright Assertions
DocumentationThe full list of Playwright expect matchers for asserting what is visible in the browser.
https://playwright.dev/docs/test-assertions
Playwright Authentication
DocumentationHow to log in once, save storage state, and reuse it across tests without repeating the login flow.
https://playwright.dev/docs/auth
Playwright Fixtures
DocumentationHow to share setup and teardown logic across tests using Playwright's fixture system.
https://playwright.dev/docs/test-fixtures
Playwright
DocumentationThe default end-to-end testing tool for this stack, with support for all major browsers.
https://playwright.dev
Playwright Trace Viewer
DocumentationRecord and replay test runs step-by-step to see exactly what Playwright saw on failure.
https://playwright.dev/docs/trace-viewer
Playwright Auto-waiting
DocumentationHow Playwright checks actionability before clicking, typing, or asserting.
https://playwright.dev/docs/actionability
Playwright Locators
DocumentationOfficial guide to Playwright locators: role, label, text, and testid-based strategies.
https://playwright.dev/docs/locators
Playwright CI
DocumentationConfiguration and tips for running Playwright in continuous integration environments.
https://playwright.dev/docs/ci
GitHub Actions
DocumentationThe automation platform used to run tests on every push and pull request.
https://docs.github.com/actions

