Full-stack template
Everything wired up,
nothing to guess.
A Next.js 15 frontend and a FastAPI backend behind Caddy, with Postgres, Redis and a typed API client already connected. Clone it, rename it, ship it.
cp .env.example .env && docker compose up --build
What you get
Opinionated defaults for the parts that are tedious to set up correctly.
One command to run
Caddy, Next.js, FastAPI, Postgres and Redis come up together with docker compose up. Mailpit joins in the dev profile.
HTTPS out of the box
Caddy terminates TLS: a real certificate in production, a local trusted one via tls internal for localhost.
Async Postgres + Redis
SQLAlchemy 2 with asyncpg, Alembic migrations, and Redis for caching and rate limits. Both health-checked.
JWT auth included
User model, password hashing and /v1/auth/register, /token and /me endpoints ready to extend.
Typed end to end
openapi-typescript turns the live FastAPI schema into TypeScript. Break the contract and the build fails.
shadcn/ui + Tailwind v4
Accessible Radix components, CSS-variable theming and a working dark mode you can restyle in one file.
Connected, right now
These two cards are real requests from your browser through Caddy to FastAPI. No mock data.
API status
Live check against the FastAPI backend.
Checking
Not checked yet
Items
Full CRUD against
/api/v1/items.