create-veriflow-auth
v1.0.1
Published
Scaffold a new Veriflow authentication API with one command
Maintainers
Readme
create-veriflow-auth
Scaffold a new Veriflow authentication API with one command. A complete Express.js + MongoDB auth system with JWT, email verification, and password reset—production-ready in seconds.
Quick Start
npx create-veriflow-auth my-auth-api
cd my-auth-api
cp .env.example .env
npm run devThat's it! Your API is at http://localhost:3001/api/v1
What You Get
✅ User Registration & Login with JWT tokens
✅ Email Verification via Resend
✅ Password Reset Flow with token verification
✅ Refresh Token Rotation for secure sessions
✅ Rate Limiting & CORS middleware
✅ MongoDB + Mongoose schemas with pre-hooks
✅ Error Handling middleware
✅ Environment Config with sensible defaults
Features
- Modern ES modules (Node 18+)
- Verified & tested authentication patterns
- Fully customizable structure
- Production-ready with security best practices
- Zero-config local development setup
Prerequisites
- Node.js 18+
- MongoDB instance
- Resend API key (free tier available)
Project Structure
my-auth-api/
├── src/
│ ├── index.js # Server entry
│ ├── app.js # Express setup & middleware
│ ├── config/
│ │ └── env.js # Environment loader
│ ├── controllers/ # Request handlers
│ ├── routes/ # Express routes
│ ├── models/ # Mongoose schemas
│ ├── services/ # Business logic (email, etc)
│ ├── middlewares/ # Auth, cors, rate-limit
│ ├── utils/ # Helpers (ApiResponse, ApiError)
│ └── template/ # Email templates
├── .env.example # Copy to .env
├── package.json
└── README.md # Full endpoint documentationEnvironment Variables
After npm run dev, edit .env:
PORT=3001
NODE_ENV=development
MONGO_URI=mongodb://localhost:27017/veriflow
JWT_SECRET=your-secret-key
EMAIL_RESEND_API_KEY=re_xxx
[email protected]
FRONTEND_URL=http://localhost:5173
CORS_ORIGINS=http://localhost:5173API Endpoints
Full documentation is in the generated project's README.md, but quick reference:
POST /api/v1/auth/register– Create accountPOST /api/v1/auth/login– LoginGET /api/v1/auth/verify-email?token=...– Verify emailPOST /api/v1/auth/resend-verification-email– Resend verificationGET /api/v1/auth/reset-password?email=...– Request password resetPOST /api/v1/auth/reset-password?token=...– Reset password
Customization
The template is fully editable. Feel free to:
- Add new routes and controllers
- Modify the User schema in
src/models/user.model.js - Adjust token expiry times in environment variables
- Add database indexes or validation rules
Scripts
npm run dev # Development server with nodemon
npm start # Production serverLicense
ISC
Support
Issues? Check the generated project's README for troubleshooting.
Made with ❤️ by Ayush Singla
