{"_id":"@bodhx/create-microservices-node-mongo","name":"@bodhx/create-microservices-node-mongo","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@bodhx/create-microservices-node-mongo","version":"1.0.0","description":"A CLI tool to scaffold a fully functional Node.js + MongoDB microservices architecture project","main":"index.js","bin":{"create-microservices-node-mongo":"bin/cli.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["microservices","nodejs","mongodb","scaffold","cli","generator"],"author":"","license":"MIT","dependencies":{"chalk":"^4.1.2","inquirer":"^8.2.5","fs-extra":"^11.1.1","ora":"^5.4.1","ejs":"^3.1.9"},"_id":"@bodhx/create-microservices-node-mongo@1.0.0","_nodeVersion":"18.20.8","_npmVersion":"10.8.2","dist":{"integrity":"sha512-QhJvZNGdIt+7FMJqOn3S75M4bYrJHzRIiczdhUfrRj2zFoQ1eGzVQMSC2OOMuIs22ke35fFb+D3sUsbO23htNA==","shasum":"6dec1db0846bab936e7f17e901d4c926ca4f6b2e","tarball":"https://registry.npmjs.org/@bodhx/create-microservices-node-mongo/-/create-microservices-node-mongo-1.0.0.tgz","fileCount":5,"unpackedSize":35699,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCKXig4bdJi5BU2I/OibV77jWzb0AAKgBrz4qdY+YaK+QIhAP8PIUMB4osCCIgLp/lH5SXuJOV+TkAN8V5Il3xEefzs"}]},"_npmUser":{"name":"nish34","email":"nishchay340@gmail.com"},"directories":{},"maintainers":[{"name":"nish34","email":"nishchay340@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/create-microservices-node-mongo_1.0.0_1749802602889_0.9469785185173869"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-13T08:16:42.780Z","1.0.0":"2025-06-13T08:16:43.109Z","modified":"2025-06-13T08:16:43.339Z"},"maintainers":[{"name":"nish34","email":"nishchay340@gmail.com"}],"description":"A CLI tool to scaffold a fully functional Node.js + MongoDB microservices architecture project","keywords":["microservices","nodejs","mongodb","scaffold","cli","generator"],"license":"MIT","readme":"# @bodhx/create-microservices-node-mongo\n\nA CLI tool to scaffold a fully functional Node.js + MongoDB microservices architecture project in seconds – with optional integrations like JWT, Nodemailer, S3, Logger, and more!\n\n## ✨ Features\n\n- Interactive CLI prompts to customize your setup\n- Scaffold multiple microservices with clean folder structures\n- Optional integrations: JWT auth, email (Nodemailer), S3, logging, and more\n- Auto-generate models, routes, controllers with full CRUD + pagination\n- Auto-connect services with internal service-to-service communication\n- Plug-and-play development setup with pre-configured scripts and dependencies\n\n## 🚀 Getting Started\n\nRun the CLI using:\n\n```bash\nnpx @bodhx/create-microservices-node-mongo\n```\n\n## 🧠 CLI Flow\n\nThe CLI guides you through an interactive setup:\n\n### 1. Basic Project Info\n- Project Name\n- Author Name\n- Project Description\n\n### 2. Microservices Setup\n- Number of Microservices\n- Prompted:\n  - Microservice 1 name\n  - Microservice 2 name\n  - ...and so on (based on entered number)\n\n### 3. Feature Integrations (Optional)\nFor each microservice, you'll be asked:\n- Include JWT Authentication? (yes/no)\n- Include Nodemailer Service? (yes/no)\n- Include S3 Integration? (yes/no)\n- Include Logger Utility? (yes/no)\n- Include other common utilities? (yes/no)\n  - (CORS, Helmet, Swagger, Rate Limiting, dotenv)\n\n### 4. Port Configuration\nYou'll enter the Port Number for each microservice, in order.\n\n### 5. Project Structure Options\n**Option 1: Generate Microservice Structure Only**\n- Creates the full folder & file layout for each microservice\n- Adds service registry/connection logic\n- Generates package.json, scripts, Docker config (optional later), etc.\n\n**Option 2: Add Models, Routes, and Controllers Now**\n- CLI asks:\n  - How many models for service 1?\n  - Model names (one by one)\n  - Repeat for all services\n- Auto-generates:\n  - Models (with default name field for now)\n  - RESTful routes (GET, POST, PUT, DELETE)\n  - Controllers with:\n    - CRUD logic\n    - Pagination support\n    - Validation (basic)\n\n## 📁 Folder Structure\n\nExample (for 2 services):\n\n```\nmy-microservices-project/\n│\n├── service-auth/\n│   ├── models/\n│   ├── routes/\n│   ├── controllers/\n│   ├── utils/\n│   └── app.js\n│\n├── service-user/\n│   ├── models/\n│   ├── routes/\n│   ├── controllers/\n│   ├── utils/\n│   └── app.js\n│\n├── shared/\n│   └── logger.js\n│\n├── package.json\n└── README.md\n```\n\n## 🧰 Tech Stack\n\n- Node.js (Express.js)\n- MongoDB (Mongoose)\n- JWT Authentication (optional)\n- Nodemailer (optional)\n- AWS S3 SDK (optional)\n- Winston or Morgan for logging (optional)\n- dotenv, helmet, cors, etc. (common utilities)\n\n## 🔧 Scripts in package.json\n\n```json\n\"scripts\": {\n  \"start\": \"node service-name/app.js\",\n  \"dev\": \"nodemon service-name/app.js\",\n  \"start:all\": \"concurrently \\\"nodemon service-1/app.js\\\" \\\"nodemon service-2/app.js\\\"\"\n}\n```\n\nWill be auto-configured based on user input.\n\n## 🔮 Future Enhancements\n\n- AI-powered field suggestion for models\n- Docker + Kubernetes setup scaffolding\n- Built-in Swagger docs per service\n- Service Discovery via Consul or NATS\n- Redis integration\n- CLI config save/restore templates","readmeFilename":"README.md","_rev":"1-fe42a3605fa2899e4d179e8703572ebc"}