What is the Starter Kit?
Overview of the Advantch starter kit architecture, technology stack, and features
What is the Starter Kit?
The Advantch starter kit is a production-ready full-stack application template combining Django and Next.js with modern best practices.
Architecture Overview
┌─────────────────────────────────────────────────────────────┐
│ Frontend │
│ Next.js (App Router) │
│ React · TypeScript · TailwindCSS · Radix UI │
└────────────────────────────┬────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Backend │
│ Django 5.x │
│ Django Ninja · Allauth · Celery · Django Channels │
└────────────────────────────┬────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Infrastructure │
│ PostgreSQL · Redis · S3 (Media Storage) │
└─────────────────────────────────────────────────────────────┘Technology Stack
Backend
| Technology | Purpose |
|---|---|
| Django 5.x | Web framework |
| Django Ninja | Type-safe REST API |
| django-allauth | Authentication (headless mode) |
| Celery | Background task processing |
| Django Channels | WebSocket support |
| PostgreSQL + pgvector | Database with vector search |
| Redis | Caching and message broker |
Frontend
| Technology | Purpose |
|---|---|
| Next.js 15 | React framework (App Router) |
| TypeScript | Type safety |
| TailwindCSS | Styling |
| Radix UI | Accessible components |
| React Hook Form | Form handling |
| Tanstack Query | Data fetching |
| Zustand | State management |
Key Features
Authentication
- Email/password authentication
- Magic link login
- Social OAuth (Google, GitHub, LinkedIn)
- Multi-factor authentication (TOTP, WebAuthn)
- JWT tokens for mobile/API clients
Multi-tenancy
- Workspace-based isolation
- Role-based access control
- Tenant-aware data models
API
- Type-safe endpoints with Django Ninja
- Automatic OpenAPI documentation
- Orval-generated TypeScript client
Developer Experience
- Hot reloading for both frontend and backend
- Docker Compose for infrastructure
- Pre-configured linting and formatting
- Comprehensive test setup
Project Structure
advantch/
├── backend/
│ ├── apps/
│ │ ├── accounts/ # Authentication
│ │ ├── ai/ # AI/ML features
│ │ ├── common/ # Shared utilities
│ │ ├── content/ # CMS functionality
│ │ ├── payments/ # Stripe integration
│ │ ├── tenants/ # Multi-tenancy
│ │ └── users/ # User management
│ ├── config/
│ │ ├── settings.py # Django settings
│ │ ├── urls.py # URL routing
│ │ └── api.py # API configuration
│ └── templates/ # Email templates
│
├── frontend/
│ ├── app/
│ │ ├── (admin)/ # Admin pages
│ │ ├── (app)/ # Authenticated pages
│ │ └── (auth)/ # Auth pages
│ ├── components/ # React components
│ ├── generated/ # API client (Orval)
│ └── lib/ # Utilities
│
└── compose.yaml # Docker servicesDesign Principles
- Type Safety - Full-stack type safety from database to UI
- Developer Experience - Fast iteration with hot reloading
- Production Ready - Security, performance, and scalability built-in
- Flexibility - Easy to customize and extend
- Best Practices - Modern patterns and conventions
Use Cases
The starter kit is ideal for:
- SaaS applications
- Internal tools and dashboards
- Multi-tenant platforms
- AI-powered applications
- Content management systems
Next Steps
- Quick Start - Set up your development environment
- Authentication - Configure authentication
- Database Setup - Choose your database provider
Last updated on