Straktur Documentation
Build internal business apps faster with Next.js
TL;DR: Next.js 16 boilerplate for internal business apps. One way to do things. Optimized for AI-assisted development.
What is Straktur?
Straktur is a production-ready starter for building internal business applications - CRMs, admin panels, dashboards, and operational tools.
Not for: Public SaaS, marketing sites, e-commerce.
Tech Stack
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router, React 19) |
| Language | TypeScript (strict mode) |
| Styling | TailwindCSS 4 + shadcn/ui |
| Database | PostgreSQL + Drizzle ORM |
| API | oRPC + TanStack Query |
| Auth | better-auth |
Quick Start
git clone <repo-url> my-app
cd my-app
npm install
cp .env.example .env.local
# Edit .env.local with your database URL
npm run db:push && npm run db:seed
npm run devOpen http://localhost:3000 → Login: [email protected] / password123
Documentation Structure
Getting Started
- Installation - Setup in 5 minutes
- Project Structure - Where things live
- Environment Variables - All config options
Core Concepts
- Architecture - How it all fits together
- Feature Modules - The feature-first pattern
- Multi-tenancy - Organization isolation
Features
- Authentication - Auth methods, RBAC, sessions
- Database - Drizzle ORM, migrations, queries
- API (oRPC) - Type-safe API layer
- UI Components - DataTable, forms, layouts
- Storage - File uploads, images
- Email - Transactional emails
Guides
- Recipes - Step-by-step tutorials
- Troubleshooting - Common errors and fixes
Philosophy
- One way to do things - No "you can also..." alternatives
- Feature-first - All code for a feature lives together
- Type-safe end-to-end - TypeScript from database to UI
- Server-first - Server Components by default
- AI-optimized - Documentation designed for Cursor/Claude
Reference Implementation
The Clients feature (/clients) demonstrates all patterns:
| File | Purpose |
|---|---|
src/features/clients/ | Feature module |
src/server/routers/clients.ts | oRPC router |
src/app/(dashboard)/clients/page.tsx | List page |
src/app/(dashboard)/clients/[id]/page.tsx | Detail page |
Study this feature to understand the patterns, then apply them to your own features.