Next.js coding challenges
- Route From a Page File (Easy)
- Special File Names (Easy)
- Folder Name Types (Easy)
- Public Environment Variables (Easy)
- Navbar With Links (Easy)
- Like Button (Easy)
- Navigate From Code (Easy)
- Image Optimizer URL (Easy)
- Title Template (Easy)
- Active Nav Link (Easy)
- Show the Current Path (Easy)
- Route Groups in the URL (Easy)
- generateStaticParams (Easy)
- Health Check Endpoint (Easy)
- Read a Query Parameter (Easy)
- Read the Search Query (Easy)
- Back Button (Easy)
- Product Images (Easy)
- Root Layout (Easy)
- Page Number From searchParams (Easy)
- robots.ts (Easy)
- sitemap.ts (Easy)
- Config Redirects (Easy)
- Is the Page Stale? (Easy)
- Server or Client Component? (Easy)
- Match a Dynamic Route (Easy)
- Highlight the Active Link (Easy)
- Create an Item With POST (Easy)
- Detect "use client" (Easy)
- Loading State (Easy)
- Breadcrumbs from the Pathname (Medium)
- Match Dynamic Segments (Medium)
- Route Table from Files (Medium)
- Which Layouts Wrap a Page? (Medium)
- Pagination Links (Medium)
- Filter and Sort with searchParams (Medium)
- generateStaticParams for Nested Segments (Medium)
- Route Handler with Async params (Medium)
- Todos API (GET + POST) (Medium)
- Validate a Server Action (Medium)
- Theme Cookie Route (Medium)
- Protect Routes in proxy.ts (Medium)
- Proxy Matcher Paths (Medium)
- next.config Redirects with Params (Medium)
- Detect the Locale (Medium)
- Effective Route Revalidate (Medium)
- How Will This fetch Be Cached? (Medium)
- Merge Layout and Page Metadata (Medium)
- next/image srcSet for a Fixed Width (Medium)
- revalidateTag vs updateTag (Medium)
- Active Link for Nested Routes (Medium)
- Pagination with ?page= (Medium)
- Tabs Synced with the URL (Medium)
- Search Box in the URL (Medium)
- Sort Select in the URL (Medium)
- Redirect After Logout (Medium)
- Photo Modal with a Real URL (Medium)
- error.tsx with Retry (Medium)
- Form with useActionState (Medium)
- Optimistic Like Button (Medium)
- cacheLife Profiles (Hard)
- Load More with a Server Action (Hard)
- next/image srcset Generator (Hard)
- Multi-Value Filters in the URL (Hard)
- Server Action CSRF Origin Check (Hard)
- Debounced Search in the URL (Hard)
- next build Route Summary (Hard)
- Error Fallback and Retry (error.tsx) (Hard)
- Top-Down generateStaticParams (Hard)
- Streaming with use() and Suspense (Hard)
- Static or Dynamic? Route Classifier (Hard)
- Optimistic Cart with useOptimistic (Hard)
- Locale Routing with a Default Locale Without Prefix (Hard)
- Photo Modal with Intercepted Routes (Hard)
- Validated Server Action for useActionState (Hard)
- Login Flow with Redirects (Hard)
- Can These Props Cross to a Client Component? (Hard)
- Checkout Wizard with ?step (Hard)
- Request Memoization for fetch and cache() (Hard)
- Data Table State in the URL (Hard)
- fetch Cache with Stale-While-Revalidate (Hard)
- Split Sitemaps and a Sitemap Index (Hard)
- revalidatePath and Implicit Tags (Hard)
- Render Metadata to Head Tags (Hard)
- Compose Proxy Steps (Hard)
- Draft Mode Preview Route (Hard)
- App Router URL Resolver (Hard)
- A/B Test with a Rewrite in proxy.ts (Hard)
- Detect Route Build Errors (Hard)
- Sliding-Window Rate Limiter in proxy.ts (Hard)
- Parallel Route Slots and default.tsx (Hard)
- Validate a Multi-File Upload Action (Hard)
- Intercepting Routes Resolver (Hard)
- Typed searchParams with a Schema (Hard)
- Resolve Metadata Across Layouts (Hard)
- Verify a Signed Webhook (Hard)
- next.config Redirects with has and missing (Hard)
- Stream NDJSON Progress from a Route Handler (Hard)
- The Full Request Routing Order (Hard)
- Model the Client Router Cache (Hard)