{"id":20691089,"url":"https://github.com/dotmind/boilerplate-nodejs-typescript","last_synced_at":"2025-07-18T02:39:43.511Z","repository":{"id":42972704,"uuid":"462383899","full_name":"dotmind/boilerplate-nodejs-typescript","owner":"dotmind","description":null,"archived":false,"fork":false,"pushed_at":"2022-03-29T09:50:12.000Z","size":850,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-03-11T01:28:51.753Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/dotmind.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}},"created_at":"2022-02-22T16:34:02.000Z","updated_at":"2022-03-03T09:55:03.000Z","dependencies_parsed_at":"2022-09-02T17:02:45.996Z","dependency_job_id":null,"html_url":"https://github.com/dotmind/boilerplate-nodejs-typescript","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/dotmind/boilerplate-nodejs-typescript","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotmind%2Fboilerplate-nodejs-typescript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotmind%2Fboilerplate-nodejs-typescript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotmind%2Fboilerplate-nodejs-typescript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotmind%2Fboilerplate-nodejs-typescript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dotmind","download_url":"https://codeload.github.com/dotmind/boilerplate-nodejs-typescript/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotmind%2Fboilerplate-nodejs-typescript/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265692685,"owners_count":23812206,"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":[],"created_at":"2024-11-16T23:15:15.951Z","updated_at":"2025-07-18T02:39:43.485Z","avatar_url":"https://github.com/dotmind.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 🚀 Getting Started\n### Requirement\n\n- Install `redis` and launch it\n- Install `mongodb` and launch it\n- Install `nodejs`\n\n\n### Launch project\n\nFirst, to launch the project locally create `.env` file:\n\n```bash\ncp .env.example .env # to clone .env.example on .env\n\n# edit .env file with your environment var\n```\n\nFinaly run the development server:\n\n```bash\nnpm run dev\n# or\nyarn dev\n```\n\n## 🪄 Create a new service CRUD\n\nTo generate a new service you can execute : `npm run bash:generate-service`\n\n## 🛠 Example\n\nAn example of service exists in project :\n- `src/services/notifications`:\n  - controllers -\u003e send response to client (no logic in the controller function)\n  - doc -\u003e create open documentation\n  - middlewares -\u003e process client request\n  - models -\u003e create mongoose models\n  - routes -\u003e create routes for services and call middlewares + controllers\n  - types -\u003e only type in services scope\n  - validators -\u003e validators of request\n\n## 🚚 Documentation\n\nTo create route documentation, you need :\n- Create schema (`src/services/YOUR_SERVICE/doc/schemas/index.ts`)\n  - export schemas to show in documentation (ex: `src/services/notifications/doc/schemas/index.ts`)\n- Create Endpoints (`src/services/YOUR_SERVICE/doc/endpoints/index.ts`)\n  - export endpoints (ex: `src/services/notifications/doc/endpoints/index.ts`)\n- Import Schema and Endpoints on `src/services/open-api/index.ts`\n  - On this file you are comment with `@TODO` to add documentation schema + endpoint + some instructions\n\n## 🎉 Use boilerplate\n- git clone git@github.com:dotmind/boilerplate-nodejs-typescript.git myProject\n- git remote add origin1 MY_GITHUB_PROJECT\n- git branch -M main\n- git push -u origin1 main\n- git remote remove origin\n- git remote rename origin1 origin\n\n## 🔑 Api key\n- generate public / private api key : `npm run bash:generate-keys`\n- generate new api key : `npm run cli:apikey`\n- to disable api key, you can add on `.env`:\n\n```bash\nAPI_KEY=0\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdotmind%2Fboilerplate-nodejs-typescript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdotmind%2Fboilerplate-nodejs-typescript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdotmind%2Fboilerplate-nodejs-typescript/lists"}