Minimal boilerplate for building a Django backend with a Vue 3 (Vite + TypeScript) frontend. Comes with optional Docker support and pre-configured dev tools.
- Django (API backend)
- Vue 3 + Vite + TypeScript (SPA frontend)
- Docker (for local dev or containerization)
- Pre-commit hooks (Black, Ruff, MyPy, etc.)
- Split settings (dev/prod/staging)
- Minimal, clean setup — ready to extend
# 1. Clone the repo
git clone <repo-url> && cd django-vue-spa-boilerplate
# 2. Setup env files
cp backend/.env.sample backend/.env
cp backend/.envrc.sample backend/.envrc # if using direnv
# 3. Backend
cd backend
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt -r requirements-dev.txt
# 4. Frontend
cd ../frontend
pnpm install # or npm install
# 5. Run both apps
# Backend
cd ../backend && source .venv/bin/activate && python manage.py runserver
# Frontend (new terminal)
cd frontend && pnpm dev
docker compose up --build
backend/ # Django project (API)
frontend/ # Vue 3 SPA (Vite + TS)
compose.yml # Docker Compose setup
scripts/ # (Optional) helper scripts
- Linting & Formatting: Black, Ruff
- Typing: MyPy + Django Stubs
- Pre-commit hooks
- VS Code: recommended settings for Python + Vue (optional)
To enable automatic code checks (e.g., formatting, trailing whitespace):
pre-commit install