Codebase
Project Structure
An overview of the project's structure and organization.
Quick orientation
The project is organized around a Next.js App Router layout, feature-based modules, and a central docs/content directory powered by Fumadocs.
Top-level layout
.
├── public/ Static assets
├── src/
│ ├── app/ App Router routes, layouts, providers
| │ └── api/ Internal API routes
│ ├── content/ MDX docs content
│ ├── features/ Feature modules (auth, todo, etc.)
│ ├── lib/ Shared libraries (auth, prisma, mdx, utils)
│ ├── prisma/ Prisma schema, migrations, generated client
│ └── shared/ Shared UI, emails, hooks, messages
├── prisma.config.ts Prisma config
├── source.config.ts Content source config
├── next.config.ts Next.js config
└── package.json Scripts and dependenciesFeature module example (src/features/web/todo)
Each feature module follows a consistent structure. The todo feature includes API, UI, schema, and service layers:
src/features/web/todo/
├── actions/ (optional) Next.js server actions
├── api/
│ └── todo.router.ts oRPC routers
├── components/
│ ├── todo.container.tsx Suffix .container for components with logic
│ └── todo.tsx Presentational component
├── config/ Feature-specific config
├── hooks/ React hooks
├── model/ Data schemas and types (using Zod)
│ └── todo.schema.ts
└── service/ Business logic and data access (e.g via Prisma)
└── todo.service.ts