A modern, open-source starter for full-stack web apps: Django on the backend, Inertia.js + React + Vite on the frontend, and shadcn-ui for UI components. No separate SPA deployment—one Django app, one codebase.
- Django 6 – Backend, auth, and API
- Inertia.js – SPA-like UX without a separate frontend API; server-side routing, shared auth
- React 18 – UI with hooks and JSX
- Vite – Fast dev server and builds
- shadcn-ui – Accessible, customizable components (Button, Card, Dialog, Table, etc.)
- Tailwind CSS – Utility-first styling with dark mode
- Included admin – User & group CRUD with Inertia/React (plus classic Django admin at
/django-admin/)
- Python 3.11+ (e.g. uv or
pyenv) - Node.js 18+
-
Backend (from repo root):
uv run python starterkit/manage.py runserver
-
Frontend (Vite dev server in another terminal):
cd starterkit/frontend npm install npm run dev -
Open http://127.0.0.1:8000 for the landing page, or http://127.0.0.1:8000/admin/login/ to sign in. Create a staff user via Django shell or
/django-admin/if needed.
| Path | Description |
|---|---|
/ |
Landing page (hero, features, footer) |
/admin/login/ |
Admin login |
/admin/ |
Dashboard (requires login) |
/admin/users/, /admin/groups/ |
User & group management |
/django-admin/ |
Classic Django admin |
| Light | Dark |
|---|---|
![]() |
![]() |
| Light | Dark |
|---|---|
![]() |
![]() |
List
Create
starterkit/
├── main/ # Django project (settings, urls, middleware)
├── apps/
│ ├── users/ # User model & auth
│ └── admin_panel/ # Inertia admin (views, services, selectors)
├── frontend/ # React + Vite + Inertia
│ ├── Pages/ # Inertia pages (Admin/*, Auth/*, Home.jsx)
│ ├── Layouts/ # AdminLayout, AuthLayout
│ ├── Components/ # ui/* (shadcn-ui), admin/*
│ └── app.jsx # Inertia app entry
├── static_assets/ # Static files (icon, screenshots) – served at /static/
├── templates/ # Django base template (Inertia mount)
└── manage.py
uv run python starterkit/manage.py test apps.admin_panel.testsMIT. Use this starter for personal or commercial projects.





