node-stackforge
v1.7.0
Published
Production-ready Node.js CLI scaffolding tool
Downloads
780
Maintainers
Readme
node-stackforge 🚀
Production-ready Node.js REST API boilerplate with strict MVC architecture, available as an npx CLI tool.
📦 Features
- MVC Architecture: Clean separation of concerns (Models, Views, Controllers, Services)
- Multiple Databases: Support for PostgreSQL, MySQL, etc. via Sequelize ORM
- JWT Authentication: Built-in user authentication with bcryptjs password hashing
- Input Validation: Joi-based request validation
- File Uploads: Express-fileupload and Multer support
- Email Service: Nodemailer integration for verification emails
- Background Jobs: Node-cron for scheduled tasks
- Rate Limiting & Security: Helmet, Compression, and Express-rate-limit
- Logging: Winston for structured logging
- Beautiful Landing Page: Modern, responsive homepage
🛠️ Quick Start
Create a New Project
npx node-stackforge my-api-project
cd my-api-project
npm installConfigure Environment Variables
Create a .env file (already copied from .env.example):
PORT=3000
DB_HOST=localhost
DB_PORT=5432
DB_NAME=your_database
DB_USER=your_username
DB_PASS=your_password
JWT_SECRET=your_jwt_secret_key
NODE_ENV=developmentStart the Server
# Development mode with nodemon
npm run dev
# Production mode
npm start📁 Project Structure
my-api-project/
├── config/ # Configuration files
│ ├── config.js # General config
│ └── database.js # Database connection
├── controllers/ # Request handlers
│ └── auth.controller.js
├── docs/ # Documentation
├── emailTemplate/ # Email templates
├── jobs/ # Scheduled cron jobs
├── middlewares/ # Express middleware
├── migrations/ # Sequelize migrations
├── models/ # Sequelize models
├── routes/ # API routes
├── services/ # Business logic
├── utils/ # Utility functions & helpers
├── validations/ # Joi validation schemas
├── view/ # Landing page views
├── .env.example
├── .gitignore
├── app.js
├── package.json
└── server.js🔌 API Endpoints
Authentication
| Method | Endpoint | Description |
| ------ | --------------------- | ----------------- |
| POST | /api/users/register | Register new user |
| POST | /api/users/login | Login user |
General
| Method | Endpoint | Description |
| ------ | -------- | ----------------- |
| GET | / | Landing page |
| GET | /api | API info & status |
📚 Built With
- Node.js - Runtime environment
- Express.js - Web framework
- Sequelize - ORM for SQL databases
- JWT - Authentication
- Joi - Data validation
- Nodemailer - Email service
- Node-cron - Scheduled tasks
- Winston - Logging
- Helmet - Security headers
- Express-rate-limit - Rate limiting
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
📄 License
ISC
👨💻 Author
Muhammad Ahsan Tariq
