Project Docs

Project Structure

content/
  volume-1/
    q001-*.mdx
    q002-*.mdx
  volume-2/
  volume-3/
  volume-4/
  volume-5/
  volume-6/
  volume-7/

src/
  app/
    batch/
    cheat-sheet/
    docs/
    practice/
    questions/
    volume-1/
    volume-2/
    volume-3/
    volume-4/
    volume-5/
    volume-6/
    volume-7/
  components/
  lib/

cheat-sheets/
mock-interviews/
pdf/
scripts/
docs/

Content

Handbook chapters live in content/. Each chapter uses frontmatter for route metadata and MDX for the body.

The current handbook content spans content/volume-1/ through content/volume-7/. Volume 6 bridges system design, platform engineering, leadership signals, and mock interview readiness through Q320. Volume 7 starts the dedicated leadership, behavioural, and mock interview track from Q321.

App

The Next.js App Router lives in src/app/. Route pages should stay server-rendered unless they need browser interactivity.

SEO files are also App Router metadata routes:

src/app/robots.ts
src/app/sitemap.ts
src/lib/site.ts

Set NEXT_PUBLIC_SITE_URL=https://learning-studio.krishnadevashish.com in Vercel so canonical and sitemap URLs use the custom Learning Studio subdomain.

Shared Code

Shared metadata and helpers live in src/lib/. Reusable UI components live in src/components/.

Local reading progress is handled in the browser with localStorage. The shared progress storage helpers live in src/lib/readingProgress.ts; the reader widgets live in src/components/ReadingProgressTracker.tsx, src/components/ProgressOverview.tsx, and src/components/ProgressQuestionList.tsx.

Progress is local to the user’s browser. A page is marked complete only after it satisfies both the minimum active reading time and scroll-depth threshold.

Generated Artifacts

PDFs live in pdf/. Scripts that generate them live in scripts/.

Documentation

Project planning and operating notes live in docs/. The root README should stay a high-level project introduction.