{"id":15932093,"url":"https://github.com/songkeys/nest-template","last_synced_at":"2025-04-03T14:27:51.765Z","repository":{"id":96008386,"uuid":"599565209","full_name":"songkeys/nest-template","owner":"songkeys","description":"My nestjs template","archived":false,"fork":false,"pushed_at":"2024-09-08T06:00:28.000Z","size":397,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-28T16:56:51.333Z","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/songkeys.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-02-09T12:12:07.000Z","updated_at":"2024-09-08T06:00:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"f3f6f329-87f0-450e-911a-11c4dc65afbf","html_url":"https://github.com/songkeys/nest-template","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/songkeys%2Fnest-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/songkeys%2Fnest-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/songkeys%2Fnest-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/songkeys%2Fnest-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/songkeys","download_url":"https://codeload.github.com/songkeys/nest-template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247017516,"owners_count":20869842,"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-10-07T01:41:34.893Z","updated_at":"2025-04-03T14:27:51.720Z","avatar_url":"https://github.com/songkeys.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nestjs Template\n\nThis is an opinionated template for Nestjs projects.\n\nI found that there are many Nestjs projects in my career, and they are all similar in structure. So I created this template to make it easier to start a new Nestjs project.\n\nPhilosophy:\n\n- Keep it simple and stupid.\n- Keep it fast and efficient.\n- Keep it scalable and maintainable.\n- Keep it secure.\n\n## Features\n\n- Platform: [Fastify](https://fastify.io)\n  - CORS [@fastify/cors](https://github.com/fastify/fastify-cors)\n  - Compression: [@fastify/compress](https://github.com/fastify/fastify-compress)\n- Database:\n  - ORM: [Prisma](https://prisma.io)\n  - Cache: [Redis](https://redis.io) [@songkeys/nestjs-redis](https://github.com/songkeys/nestjs-redis)\n- Logger: [Pino](https://github.com/pinojs/pino)\n  - [nestjs-pino](https://github.com/iamolegga/nestjs-pino)\n  - [pino-http](https://github.com/pinojs/pino-http)\n  - [pino-http-print](https://github.com/pinojs/pino-http-print)\n  - [pino-sentry-transport](https://github.com/tomer-yechiel/pino-sentry-transport)\n- Swagger: [@nestjs/swagger](https://github.com/nestjs/swagger)\n  - with nest-cli plugin enabled\n- Throttler: [@nestjs/throttler](https://github.com/nestjs/throttler)\n  - with Redis cache: [@nest-lab/throttler-storage-redis](https://github.com/jmcdo29/nest-lab/tree/main/packages/throttler-storage-redis)\n- Testing: removed! (Sorry, I don't write tests. 😅)\n- Format, Lint: [Biome](https://biomejs.dev)\n\n## Guide\n\n### Development\n\nInit environment variables:\n\n```\ncp .env.example .env\n```\n\nInstall dependencies:\n\n```bash\npnpm install\n```\n\nStart DB docker:\n\n```bash\npnpm run docker:db\n```\n\nGenerate Prisma client:\n\n```bash\npnpm run prisma:generate\n```\n\nMigrate database:\n\n```bash\npnpm run prisma:migrate:dev\n```\n\nRun the app:\n\n```bash\npnpm run start:dev\n```\n\n### Deployment\n\nDocker:\n\n```bash\n# building new NestJS docker image\ndocker-compose build\n# or\npnpm run docker:build\n\n# start docker-compose\ndocker-compose up -d\n# or\npnpm run docker\n```\n\nIn Node.js Environment:\n\n```\npnpm install\npnpm run build\n./start_prod.sh\n```\n\n### Migrate database\n\nDevelopment:\n\n```bash\npnpm run prisma:migrate:dev\n```\n\nProduction:\n\n```bash\npnpm run prisma:migrate:deploy\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsongkeys%2Fnest-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsongkeys%2Fnest-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsongkeys%2Fnest-template/lists"}