Victor Jeman Academy

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

Documentation

The official React docs and tutorial. Start here for anything React.

https://react.dev/learn

Next.js: Documentation

Documentation

The official Next.js docs, the reference for the App Router, routing, and data fetching.

https://nextjs.org/docs

Next.js: Learn

Documentation

The official guided Next.js course that builds a real app step by step.

https://nextjs.org/learn

Node.js

Documentation

Install Node.js (the LTS version). It runs your tooling and dev server.

https://nodejs.org

Git

Documentation

Install Git, the version control you commit and push with.

https://git-scm.com/

GitHub

Documentation

Create an account to host your repositories and collaborate.

https://github.com/

Generate a new SSH key

Documentation

Create 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

Documentation

Register 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

Documentation

The official starting point for Git and GitHub basics, from first commit to pull requests.

https://docs.github.com/en/get-started

Visual Studio Code

Documentation

The editor most of this ecosystem uses, with strong TypeScript and React support.

https://code.visualstudio.com/

React Developer Tools

Documentation

The browser extension for inspecting the React component tree and props while you debug.

https://react.dev/learn/react-developer-tools

Prettier

Documentation

An opinionated code formatter that ends style debates by formatting on save and in a pre-commit hook.

https://prettier.io/docs/

Husky

Documentation

Git hooks made easy, so checks like lint and format run automatically before a commit or push.

https://typicode.github.io/husky/

Conventional Commits

Documentation

A commit message convention that gives you a readable history and automated changelogs.

https://www.conventionalcommits.org/

What Are AI Hallucinations?

Article

IBM 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

Article

Why 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

Article

What 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)?

Article

How 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

Article

Why shipping a simpler version on time beats waiting for perfection.

https://www.atlassian.com/agile/product-management/minimum-viable-product

Prioritization frameworks

Article

How 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

Article

How 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

Article

What 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

Documentation

Composable charts built on React and D3.

https://recharts.org

Next.js: Fetching data

Documentation

How 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

Documentation

Caching, refetching and sync for server state managed on the client.

https://tanstack.com/query

SWR

Documentation

Vercel's leaner stale-while-revalidate data-fetching hook for the common case.

https://swr.vercel.app

date-fns

Documentation

Modular date functions you can tree-shake, import only what you use.

https://date-fns.org

Day.js

Documentation

A tiny library (under 2 KB) with a familiar, chainable API for formatting and comparing dates.

https://day.js.org

React Hook Form

Documentation

Performant forms with minimal re-renders, built around uncontrolled inputs, with the largest ecosystem.

https://react-hook-form.com

TanStack Form

Documentation

Strict TypeScript inference and first-class async field validation, the same API across frameworks.

https://tanstack.com/form/latest

Bundlephobia

Article

Check the real bundle cost of an npm package before you add it.

https://bundlephobia.com

Next.js App Router

Documentation

File-based routing, layouts, and dynamic segments in the App Router.

https://nextjs.org/docs/app

Zustand

Documentation

Minimal global state with a tiny API, no boilerplate, no provider required.

https://zustand.docs.pmnd.rs

Tailwind CSS

Documentation

Utility-first CSS you compose directly in your markup, no separate stylesheet to maintain.

https://tailwindcss.com

shadcn/ui

Documentation

Copy-paste components built on accessible primitives (Radix UI by default) and Tailwind CSS that live in your repo.

https://ui.shadcn.com

Zod

Documentation

TypeScript-first schema validation with type inference built in, and the most widely adopted of the three.

https://zod.dev

Valibot

Documentation

Modular schemas that tree-shake, so only the validation rules you use ship in your bundle.

https://valibot.dev

ArkType

Documentation

Schemas written in TypeScript-like syntax, with very fast runtime validation.

https://arktype.io

MDN HTTP Authentication

Documentation

How 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)

Documentation

The 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

Documentation

How authentication, sessions, and authorization fit together in a Next.js app.

https://nextjs.org/docs/pages/guides/authentication

Better Auth

Documentation

A 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

Documentation

How 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

Documentation

How 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

Documentation

Query 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

Documentation

The 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

Documentation

The 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

Documentation

The 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

Documentation

Generate TypeScript types straight from an OpenAPI or Swagger spec, so your types track the real API.

https://openapi-ts.dev

Next.js project structure

Documentation

Official guide to App Router folders and file conventions.

https://nextjs.org/docs/app/getting-started/project-structure

Husky git hooks

Documentation

Tool for adding git hooks to your project with minimal configuration.

https://typicode.github.io/husky/

Next.js useSearchParams

Documentation

How 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

Documentation

Type-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

Documentation

How 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

Documentation

How 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

Documentation

How 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

Documentation

A 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

Documentation

How 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

Documentation

The 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

Documentation

The browser primitive for a two-way, persistent connection between client and server.

https://developer.mozilla.org/en-US/docs/Web/API/WebSocket

Socket.IO

Documentation

A library over WebSockets that adds reconnection, rooms, and fallbacks, with a browser client for React.

https://socket.io/docs/v4/

Google Maps marker clustering

Documentation

How 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

Documentation

The browser API for displaying system notifications to the user.

https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API

MDN Server-sent events

Documentation

A 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

Documentation

How 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

Documentation

Reference for ARIA roles, states, and properties.

https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA

web.dev Accessibility

Documentation

Practical accessibility guidance with examples and audit tools.

https://web.dev/accessible/

Playwright accessibility testing

Documentation

How to run axe-core accessibility scans inside Playwright tests.

https://playwright.dev/docs/accessibility-testing

Playwright Assertions

Documentation

The full list of Playwright expect matchers for asserting what is visible in the browser.

https://playwright.dev/docs/test-assertions

Playwright Authentication

Documentation

How to log in once, save storage state, and reuse it across tests without repeating the login flow.

https://playwright.dev/docs/auth

Playwright Fixtures

Documentation

How to share setup and teardown logic across tests using Playwright's fixture system.

https://playwright.dev/docs/test-fixtures

Playwright

Documentation

The default end-to-end testing tool for this stack, with support for all major browsers.

https://playwright.dev

Playwright Trace Viewer

Documentation

Record and replay test runs step-by-step to see exactly what Playwright saw on failure.

https://playwright.dev/docs/trace-viewer

Playwright Auto-waiting

Documentation

How Playwright checks actionability before clicking, typing, or asserting.

https://playwright.dev/docs/actionability

Playwright Locators

Documentation

Official guide to Playwright locators: role, label, text, and testid-based strategies.

https://playwright.dev/docs/locators

Playwright CI

Documentation

Configuration and tips for running Playwright in continuous integration environments.

https://playwright.dev/docs/ci

GitHub Actions

Documentation

The automation platform used to run tests on every push and pull request.

https://docs.github.com/actions