{"id":23491486,"url":"https://github.com/sarwar-asik/ready-serversmongoose","last_synced_at":"2026-04-12T13:48:33.285Z","repository":{"id":181310235,"uuid":"655173423","full_name":"sarwar-asik/ready-serversMongoose","owner":"sarwar-asik","description":"custom/reusable Nodejs/Mongoose server","archived":false,"fork":false,"pushed_at":"2024-09-10T10:51:42.000Z","size":832,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-09-10T12:08:15.704Z","etag":null,"topics":["cloudinary","compression","compression-implementations","cookie-parser","crud-api","express-rate-limit","expressjs","husky","jwt","mongoose","multer","prettier","security","typescript","vercel-deployment"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sarwar-asik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-18T05:39:22.000Z","updated_at":"2024-09-10T10:53:11.000Z","dependencies_parsed_at":"2024-07-12T07:39:26.554Z","dependency_job_id":"69a45163-c1a4-4183-af14-15154848bede","html_url":"https://github.com/sarwar-asik/ready-serversMongoose","commit_stats":null,"previous_names":["sarwar-asik/ready-serversone","sarwar-asik/ready-serversmongoose"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarwar-asik%2Fready-serversMongoose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarwar-asik%2Fready-serversMongoose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarwar-asik%2Fready-serversMongoose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarwar-asik%2Fready-serversMongoose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sarwar-asik","download_url":"https://codeload.github.com/sarwar-asik/ready-serversMongoose/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248975299,"owners_count":21192199,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloudinary","compression","compression-implementations","cookie-parser","crud-api","express-rate-limit","expressjs","husky","jwt","mongoose","multer","prettier","security","typescript","vercel-deployment"],"created_at":"2024-12-25T01:28:01.674Z","updated_at":"2026-04-12T13:48:33.260Z","avatar_url":"https://github.com/sarwar-asik.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ready Server - MongoDB \u0026 Express.js Boilerplate\n\nA robust and feature-rich server boilerplate built with Express.js, TypeScript, and MongoDB, incorporating best practices and essential features for rapid development.\n\n## 🚀 Features\n\n### Authentication \u0026 Authorization\n\n- 🔐 User authentication (Login/Signup)\n- 🔄 Refresh token mechanism\n- 🎫 JWT-based authentication\n- 👮‍♂️ Role-based access control\n\n### User Management\n\n- 👤 User profile management\n- 👥 Admin user management\n- 📝 Profile updates\n- 🔍 User search and filtering\n\n### Security \u0026 Performance\n\n- 🛡️ ESLint configuration\n- 📝 Winston logger implementation\n- ❌ Global error handling\n- 🔄 Uncaught error handling\n- ✅ Zod validation\n- 🚧 Rate limiting\n- 🔒 Helmet security\n- 📦 Compression\n\n### Development Features\n\n- 🐳 Docker support\n- 🔄 GitHub Actions CI/CD\n- 🎯 TypeScript support\n- 🎨 Prettier code formatting\n\n### Advance features\n\n- explore swagger docs by `/api-docs` .\n- use ready cli by `npm install -g .` and `tran`\n\n## 🛠️ Technologies\n\n- **Runtime**: Node.js\n- **Framework**: Express.js\n- **Language**: TypeScript\n- **Database**: MongoDB with Mongoose\n- **Authentication**: JWT\n- **Validation**: Zod\n- **Logging**: Winston\n- **Security**: Helmet, CORS, Rate Limiting\n- **Development**: ESLint, Prettier\n- **Deployment**: Docker, PM2\n\n## 💡 Use Cases\n\n- Startup MVPs\n- Enterprise applications\n- RESTful API services\n- Microservices\n- Authentication services\n- User management systems\n\n## 🚀 Getting Started\n\n1. **Clone the Repository**\n\n   ```bash\n   git clone [repository-url]\n   cd ready-serversMongoose\n   ```\n\n2. **Environment Setup**\n\n   ```bash\n   cp .env.example .env\n   # Update .env with your configurations\n   ```\n\n3. **Install Dependencies**\n\n   ```bash\n   npm install\n   # or\n   yarn install\n   ```\n\n4. **Development Mode**\n\n   ```bash\n   npm run dev\n   # or\n   yarn dev\n   ```\n\n5. **Production Build**\n   ```bash\n   npm run build\n   npm start\n   # or\n   yarn build\n   yarn start\n   ```\n\n## 🔧 Environment Variables\n\n```env\n\n# Environment Configuration\nNODE_ENV=development\nPORT=3000\nSERVER_NAME=my-server\nALLOWED_ORIGINS=http://localhost:3000\nDB_URL=mongodb://localhost:27017/mydatabase\nTEST_DATABASE_URL=mongodb://localhost:27017/testdatabase\nHTTPS=false\n\n# JWT Configuration\nJWT_SECRET=my_jwt_secret\nJWT_EXPIRES_IN=1h\nJWT_REFRESH_SECRET=my_jwt_refresh_secret\nJWT_REFRESH_EXPIRES_IN=30d\n\n# Server Configuration\nSERVER_URL=http://localhost:3000\n\n# SMTP Configuration\nSMTP_HOST=smtp.mailtrap.io\nSMTP_PORT=2525\nSMTP_SERVICE=Mailgun\nSMTP_MAIL=example@mail.com\nSMTP_PASSWORD=my_smtp_password\nSERVICE_NAME=my_service\n\n# Stripe Configuration\nSTRIPE_SECRET_KEY=stripe_secret_key\n\n# Super Admin Credentials\nSUPERADMIN_EMAIL=admin@example.com\nSUPERADMIN_PASSWORD=admin_password\n\n# S3 Configuration\nS3_ACCESS_KEY_ID=my_access_key_id\nS3_SECRET_ACCESS_KEY=my_secret_access_key\nS3_BUCKET=my_bucket_name\nS3_REGION=my_region\n\n\n```\n\n## 📁 Project Structure\n\n```\n├── app/\n│   ├── dist/                          # Compiled TypeScript files\n│   ├── logs/winston/                  # Winston log files\n│   │   ├── errors/                    # Error logs\n│   │   └── success/                   # Success logs\n│   ├── node_modules/                  # Dependencies\n│   └── src/                          # Source code\n│       ├── common/                   # Shared utilities\n│       │   ├── config/               # Configuration files\n│       │   ├── errors/               # Error handling\n│       │   ├── helpers/              # Helper functions\n│       │   ├── middleware/           # Custom middlewares\n│       │   └── utils/                # Utility functions\n│       ├── modules/                  # Feature modules\n│       │   ├── auth/                 # Authentication module\n│       │   ├── image/                # Image handling\n│       │   ├── logs/                 # Logging module\n│       │   └── user/                 # User management\n│       │       ├── user.controller.ts\n│       │       ├── user.docs.ts\n│       │       ├── user.interface.ts\n│       │       ├── user.model.ts\n│       │       ├── user.route.ts\n│       │       ├── user.services.ts\n│       │       └── user.validation.ts\n│       ├── routes/                   # Route definitions\n│       ├── shared/                   # Shared components\n│       │   ├── catchAsync.ts\n│       │   ├── logger.ts\n│       │   ├── pick.ts\n│       │   └── sendResponse.ts\n│       ├── app.ts                    # Express app configuration\n│       └── server.ts                 # Server entry point\n|     ├── test/                            # Test files\n|     ├── .env.example                     # Environment template\n|     ├── .gitignore                       # Git ignore rules\n|     ├── docker-compose.yml               # Docker compose\n|     ├── Dockerfile                       # Docker configuration\n|     ├── package.json                     # Project dependencies\n|     ├── tsconfig.json                    # TypeScript configuration\n├── docker/                           # Docker configuration\n├── uploadFile/                       # File upload directory\n├── .devcontainer/                    # VS Code dev container\n├── .github/workflows/                # GitHub Actions\n│   ├── build-server.yml\n│   └── formatter.yml\n├── .vscode/                          # VS Code settings\n└── README.md                        # Project documentation\n```\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## 📝 License\n\nThis project is not current licensed under the ISC License.\n\n---\n\nMade with ❤️ by [sarwar-asik]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsarwar-asik%2Fready-serversmongoose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsarwar-asik%2Fready-serversmongoose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsarwar-asik%2Fready-serversmongoose/lists"}