create-indi-backend

1.2.0 • Public • Published

🚀 Mk-Server – Scalable Express + Mongoose Backend Template

A fully-structured, scalable, and production-ready backend template built with Express.js, Mongoose, and MongoDB, designed to get your REST API up and running in no time – whether it's for a side project, production system, or an npm package starter kit.


🔥 Features

  • ✅ Express.js based routing and middleware setup
  • ✅ MongoDB connection with Mongoose (with transactions support)
  • ✅ Cloudinary file upload (production ready)
  • ✅ Async handler utility to reduce try/catch boilerplate
  • ✅ Centralized error and response handler classes
  • ✅ Auto JSON response format
  • ✅ Multer-based file upload system
  • ✅ Rate Limiting and security middlewares (helmet, hpp, xss-clean)
  • ✅ Centralized environment config
  • ✅ Built-in support for logging and debugging
  • ✅ Pagination, filtering, metadata-ready
  • ✅ Prettier and lint-friendly
  • ✅ Ready to publish as an npm starter

📁 Folder Structure

src/
├── app.js                     # Main Express config
├── index.js                   # Entry point
├── config/                    # Env + constants
├── db/                        # MongoDB connection
├── middlewares/              # Rate limiters, errors, etc.
├── utils/                     # Async handler, response wrapper, etc.
├── routes/                    # All routes (modular)
├── controllers/              # Route logic
├── models/                   # Mongoose models
├── uploads/                  # Multer temp files
├── public/                   # Static assets
├── Documentation/            # docs for all the listed things
└── bin/cli.js                # NPM starter entry (optional)

⚙️ Environment Variables (.env)

PORT=8080
MONGO_URI=mongodb+srv://your-cluster-url
CORS_ORIGIN=http://localhost:3000

ACCESS_TOKEN_SECRET=your-access-secret
ACCESS_TOKEN_EXPIRY=1d
REFRESH_TOKEN_SECRET=your-refresh-secret
REFRESH_TOKEN_EXPIRY=30d

CLOUDINARY_CLOUD_NAME=your-cloud-name
CLOUDINARY_API_KEY=your-api-key
CLOUDINARY_API_SECRET=your-secret

🛠️ Scripts

Script Command Description
dev npm run dev Start server in development (nodemon)
start node src/index.js Start server in production
lint prettier --check . Check formatting
format prettier --write . Auto-format code

💡 Usage Example

npm install
npm run dev

📦 Publishing as NPM Starter (Optional)

To use as a CLI tool for bootstrapping projects:

npm link
create-mk-backend new my-project

Or publish to NPM with your CLI tool defined in bin/cli.js.


🤝 Contributing

Feel free to fork this repo, suggest improvements, or contribute new utilities.


📜 License

Licensed under the ISC License.
© 2024 Manoj Kumar Rajpoot


📌 Related Tools

Package Sidebar

Install

npm i create-indi-backend

Weekly Downloads

3

Version

1.2.0

License

ISC

Unpacked Size

45.2 kB

Total Files

36

Last publish

Collaborators

  • blackgrimore