BootNode is an enterprise-grade backend framework for Node.js — similar to Laravel for PHP or Rails for Ruby. It provides a convention-based structure for building production-ready APIs in minutes, not hours.
Whether you're building a simple REST API or a complex fintech system, BootNode gives you a solid foundation with industry best practices built-in.
| Feature | Description |
|---|---|
| 🚀 Instant Setup | Generate a complete backend in seconds |
| 📦 8 Ready Templates | Blog, CMS, LMS, FinTech, E-Commerce, SaaS, API, Blank |
| 🔐 Complete Auth | JWT, email verification, password reset |
| 🛡️ Enterprise Features | Rate limiting, validation, error handling, logging |
| 📊 Database Support | MongoDB & PostgreSQL |
| 📝 Auto API Docs | Interactive Swagger UI |
| 🐳 Docker Ready | Dockerfile & docker-compose |
| 🧪 Testing Built-in | Jest with in-memory MongoDB |
No installation required! Use npx to run directly:
npx bootnode --helpOr install globally:
npm install -g bootnode
bootnode --helpnpx bootnodeThis will prompt you through the setup:
╔══════════════════════════════════════════════════════════════╗
║ ║
║ ██████╗ ███████╗████████╗██████╗ ██████╗ ║
║ ██╔════╝ ██╔════╝╚══██╔══╝██╔══██╗██╔═══██╗ ║
║ ██║ ███╗█████╗ ██║ ██████╔╝██║ ██║ ║
║ ██║ ██║██╔══╝ ██║ ██╔══██╗██║ ██║ ║
║ ╚██████╔╝███████╗ ██║ ██║ ██║╚██████╔╝ ║
║ ╚═════╝ ╚══════╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ║
║ Backend Framework for Modern Developers ║
╚══════════════════════════════════════════════════════════════╝
? Project name: my-api
? Choose a template:
> API Server - REST API with authentication, CRUD, and validation
Blank - Minimal Express.js server
Blog API - Blog with posts, categories, comments
CMS - Content Management System
LMS - Learning Management System
FinTech - Financial technology backend
E-Commerce - Online store backend
SaaS Starter - Multi-tenant SaaS
? Choose a database: MongoDB (Mongoose)
? Choose package manager: npm
? Initialize Git repository? Yes
? Install dependencies? Yes
🚀 Creating API Server project...
📦 Installing dependencies...
# Basic usage
npx bootnode my-api
# Specify template
npx bootnode my-blog --template blog
# Full options
npx bootnode my-fintech --template fintech --database mongodb --pm npmBootNode comes with 8 production-ready templates:
Minimal Express.js server for simple projects.
npx bootnode my-app --template blankPerfect for:
- Simple APIs
- Microservices
- Learning Express.js
Includes:
- Express.js setup
- CORS & dotenv
- Health check endpoint
Full-featured REST API with authentication.
npx bootnode my-api --template apiPerfect for:
- Mobile app backends
- SPA backends
- General REST APIs
Features:
- ✅ JWT Authentication
- ✅ User CRUD
- ✅ Input Validation
- ✅ Rate Limiting
- ✅ Error Handling
- ✅ Swagger Documentation
Endpoints:
# Auth
POST /api/v1/auth/register
POST /api/v1/auth/login
POST /api/v1/auth/logout
GET /api/v1/auth/me
POST /api/v1/auth/refresh-token
GET /api/v1/auth/verify-email/:token
# Users
GET /api/v1/users
GET /api/v1/users/:id
POST /api/v1/users
PATCH /api/v1/users/:id
DELETE /api/v1/users/:idComplete blog with posts, categories, and comments.
npx bootnode my-blog --template blogPerfect for:
- Blog websites
- Content platforms
- News sites
Features:
- ✅ Posts with markdown support
- ✅ Categories & Tags
- ✅ Comments with threading
- ✅ Featured posts
- ✅ Search functionality
- ✅ View counting
- ✅ SEO metadata
Endpoints:
# Posts
GET /api/v1/posts
GET /api/v1/posts/:slug
POST /api/v1/posts
PUT /api/v1/posts/:id
DELETE /api/v1/posts/:id
GET /api/v1/posts/featured
# Categories
GET /api/v1/categories
POST /api/v1/categories
# Comments
GET /api/v1/posts/:id/comments
POST /api/v1/posts/:id/comments
DELETE /api/v1/comments/:idContent Management System with media handling.
npx bootnode my-cms --template cmsPerfect for:
- Enterprise CMS
- News platforms
- Content publishers
Features:
- ✅ Articles with rich content
- ✅ Media library (images, files)
- ✅ Categories & tags
- ✅ Content scheduling
- ✅ Draft/Published workflow
- ✅ SEO optimization
Learning Management System.
npx bootnode my-lms --template lmsPerfect for:
- Online courses
- Training platforms
- Educational apps
Features:
- ✅ Courses & Lessons
- ✅ Quizzes & Assessments
- ✅ Student Progress
- ✅ Certificates
- ✅ Enrollments
- ✅ Instructor Profiles
Financial technology backend.
npx bootnode my-fintech --template fintechPerfect for:
- Banking apps
- Payment platforms
- Wallet systems
Features:
- ✅ Multiple account types (checking, savings, wallet)
- ✅ Transactions (deposit, withdrawal, transfer)
- ✅ Virtual & Physical Cards
- ✅ Card Controls (limits, freeze)
- ✅ Transaction History
- ✅ Balance Management
- ✅ Account Limits
Models:
Account // Bank accounts, wallets
Transaction // All financial transactions
Card // Debit/credit cardsOnline store backend.
npx bootnode my-store --template ecommercePerfect for:
- Online stores
- Marketplaces
- Inventory systems
Features:
- ✅ Products & Categories
- ✅ Shopping Cart
- ✅ Orders & Order Items
- ✅ Inventory Management
- ✅ Shipping Options
- ✅ Payment Ready
Multi-tenant SaaS starter.
npx bootnode my-saas --template saasPerfect for:
- SaaS products
- Multi-tenant apps
- API platforms
Features:
- ✅ Multi-tenancy
- ✅ Teams & Memberships
- ✅ Roles & Permissions
- ✅ API Keys
- ✅ Webhooks
- ✅ Subscriptions (Stripe-ready)
| Option | Description | Values |
|---|---|---|
--template |
Project template | blank, api, blog, cms, lms, fintech, ecommerce, saas |
--database |
Database driver | mongodb, postgresql |
--pm |
Package manager | npm, yarn, pnpm |
--no-git |
Skip Git initialization | - |
--no-install |
Skip npm install | - |
# Blog with MongoDB
npx bootnode blog-api --template blog --database mongodb
# E-commerce with PostgreSQL
npx bootnode store-api --template ecommerce --database postgresql
# SaaS with yarn, no git
npx bootnode saas-api --template saas --pm yarn --no-git
# Skip installation (faster cloning)
npx bootnode quick-api --template api --no-installAfter generating a project, you'll get this structure:
my-api/
├── src/
│ ├── config/
│ │ ├── db.js # Database connection
│ │ ├── env.js # Environment config
│ │ └── swagger.js # Swagger setup
│ ├── controllers/
│ │ ├── auth.controller.js
│ │ └── user.controller.js
│ ├── middleware/
│ │ ├── rateLimiter.js
│ │ └── validators/
│ ├── models/
│ │ └── user.model.js
│ ├── routes/
│ │ ├── auth.routes.js
│ │ └── user.routes.js
│ ├── services/
│ │ └── email.service.js
│ ├── utils/
│ │ └── jwt.js
│ └── app.js # Express app
├── tests/
│ ├── auth.controller.test.js
│ ├── user.controller.test.js
│ └── setup.js
├── .env.example
├── package.json
├── server.js
└── README.md
Once your project is created:
| Command | Description |
|---|---|
npm run dev |
Start development server |
npm start |
Start production server |
npm run lint |
Run ESLint |
npm run format |
Format code with Prettier |
npm test |
Run tests |
Create a .env file from the example:
cp .env.example .envConfigure your variables:
# Server
PORT=3000
NODE_ENV=development
# Database
MONGODB_URI=mongodb://localhost:27017/myapi
# JWT
JWT_SECRET=your-secret-key
JWT_EXPIRE=30d
REFRESH_TOKEN_SECRET=your-refresh-secret
REFRESH_TOKEN_EXPIRE=30d
# Rate Limiting
RATE_LIMIT_WINDOW_MS=900000
RATE_LIMIT_MAX=100All templates include interactive Swagger documentation.
Start your server:
npm run devVisit: http://localhost:3000/api-docs
Uses Mongoose ODM:
import mongoose from 'mongoose';
// Connection
mongoose.connect(process.env.MONGODB_URI);
// Define model
const User = mongoose.model('User', userSchema);Using Prisma ORM:
npx bootnode my-api --template api --database postgresqlEach template includes Docker files:
# Build image
docker build -t my-api .
# Run container
docker run -p 3000:3000 my-apiOr use docker-compose:
docker-compose up -dEach template includes Jest tests:
# Run tests
npm test
# Watch mode
npm run test:watchContributions are welcome! Please see our Contributing Guide.
BootNode is open-source software licensed under the MIT license.
Built with ❤️ by Moses Sunday
