JSPM

create-indi-backend

1.2.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1
  • Score
    100M100P100Q31852F
  • License ISC

A complete and production-grade Express.js backend setup.

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (create-indi-backend) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    🚀 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