A complete authentication system with React frontend and Express/MongoDB backend. Covers every auth flow out of the box: OTP-based registration, login, TOTP two-factor authentication, and forgot/reset password. Swap to mock mode to develop the entire frontend without a running server.
A full-stack authentication starter designed for modern web applications. It ships a working React client, an Express API, and a MongoDB data layer — all connected and ready to customise.
JWT_EXPIRES_INVITE_PROVIDER=mock to run the full client without a backend; every flow works with simulated responsesClient
Server
Shared
@shared path alias# 1. Install dependencies pnpm install # 2. Configure environment cp server/.env.example server/.env cp client/.env.example client/.env # 3. Start development (client + server) pnpm dev
Open http://localhost:5173 for the client and http://localhost:3000 for the API.
No backend yet? Set VITE_PROVIDER=mock in client/.env and start only the client. All auth flows simulate correctly without a running server.
registration-kit/
├── client/ # React + Vite frontend
│ └── src/
│ ├── api/ # auth + user providers (live & mock)
│ ├── components/
│ ├── pages/
│ └── store/
├── server/ # Express + TypeScript API
│ └── src/
│ ├── controllers/
│ ├── services/
│ ├── models/
│ └── routes/
├── shared/ # DTOs and types shared between client and server
└── package.json
Key variables in server/.env:
MONGODB_URI=mongodb://localhost:27017/registration-kit
JWT_SECRET=your-secret
JWT_EXPIRES_IN=15d
SMTP_HOST=smtp.mailtrap.io
SMTP_PORT=587
SMTP_USER=...
SMTP_PASS=...
Key variables in client/.env:
VITE_API_URL=http://localhost:3000
VITE_PROVIDER=live # or 'mock' for no-backend dev
Registration Kit ships under a commercial license with three tiers — Developer, Team, and Extended. See the license page for full terms and what each tier allows.
Details
Version
1.0.0
Last Updated
May 2026
Pricing
Details
Version
1.0.0
Last Updated
May 2026
Pricing