Authentication and sessions
Stop re-implementing login on every project. Token rotation, CSRF, and session control ship wired and tested.
Starting a NestJS backend from scratch costs weeks of wiring auth, RBAC, database, and ops. This starter hands you the foundation so your first commit is product work, not plumbing.
Open source core · Production-tested · Ready in minutes
Weeks saved
~40h boilerplate eliminated
From clone to running
Under 10 minutes
Auth & RBAC
Ready out of the box
Production patterns
Not just a demo
Open core
MIT-licensed foundation
Upgradable
Pro adds the hard parts
Every card below is hours you won't spend wiring boilerplate — so your sprint zero becomes a sprint one.
Stop re-implementing login on every project. Token rotation, CSRF, and session control ship wired and tested.
Onboard users on day one, not week three. Registration, email verification, suspension, and restoration are all here.
Skip days of RBAC design. Roles, permissions, per-user overrides, and an audit log come modeled and tested.
TypeORM entities, explicit migrations, connection pooling, and verified SSL — so you inherit safe persistence without piecing it together.
OpenAPI docs are generated, not written. Clients get consistent contracts for success, errors, and auth — rendered in Scalar on day zero.
Correlation IDs, structured Winston logs, daily rotation, and health checks ship ready — so debugging starts on day one, not when something breaks.
Modular-monolith boundaries are already drawn — auth, users, RBAC, and infra live in their own modules. You inherit the decisions, not the meetings.
Clear boundaries now, microservices later — only if you ever need them.
See how it's structuredSame conventions across security, contracts, infra, and CI — so every new feature is just code.
SMTP, Handlebars templates, and a local Mailpit container mean you verify emails the same way locally and in production.
No more dropping CORS or Helmet at the last minute — validation, rate limiting, serialization, and Problem Details are the default, not an afterthought.
Jest, Supertest, and Testcontainers run against your real database in CI — lint, type-check, and build pass before you merge.
A multi-stage Dockerfile and Compose services give you the same image from local dev to production. There is no "works on my machine."
git clone <repo-url>
pnpm install
pnpm start:devThree commands from clone to a running API. The full setup guide covers databases, Docker, and environment configuration.
Five days, zero plumbing. Auth, deployment, migrations, API contracts, and observability — scaffolded, tested, and waiting before your first product commit. The weeks you'd lose to wiring become weeks you spend on the actual product.
Skip the two weeks most teams lose to JWT, refresh rotation, email verification, and session revocation. The first request you send registers a real user, verifies an email, and returns tokens — through tested flows, not a blog-post scaffold.
The path from pnpm test to a pushed image is one command, not a sprint. Roles, permissions, audit logs, health checks, and a multi-stage Dockerfile all ship modeled and tested — local and prod run the same way, with nothing to reconfigure.
Stop hand-writing SQL in app code or rescuing a drifted schema in prod. TypeORM migrations with pgcrypto UUID defaults run in a transaction, preview via dry-run, and revert in one command — every change is auditable, reversible, and never a surprise.
Stop documenting your API in a wiki nobody reads. Scalar serves /docs straight from your OpenAPI spec, Problem Details (application/problem+json) return stable error codes with JSON Pointer fields, and X-Request-Id correlates every request across logs and audit — contracts your frontend can code against, not comments that drift.
Day-two ops aren't a phase you bolt on later. Winston logs ship as JSON in prod and human-readable in dev, /health/liveness and /health/readiness (Postgres + heap) feed your container's probe every 30s, and X-Request-Id correlates any request across logs and audit — so the 3 a.m. incident takes minutes, not hours.
You get a backend that already passes its own CI, handles auth safely, and reads like code you'd write yourself — so you can spend your time on the product.