{"id":26739753,"url":"https://github.com/shamscorner/nest-stackter","last_synced_at":"2025-04-14T15:50:29.252Z","repository":{"id":37742401,"uuid":"419098532","full_name":"shamscorner/nest-stackter","owner":"shamscorner","description":"A starter template for NestJS + GraphQL/REST + TypeOrm + custom config + validation + serialization + migrations and many more.","archived":false,"fork":false,"pushed_at":"2023-03-23T11:43:17.000Z","size":2052,"stargazers_count":32,"open_issues_count":0,"forks_count":7,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-28T04:39:26.452Z","etag":null,"topics":["amazon-s3","compodoc","cqrs-pattern","elasticsearch","google-authentication","graphql","jwt-authentication","nestjs","nodemailer","postgresql","redis-cache","rest-api","swagger","typeorm","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shamscorner.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":"2021-10-19T21:39:42.000Z","updated_at":"2024-08-20T06:24:37.000Z","dependencies_parsed_at":"2022-09-13T19:31:02.704Z","dependency_job_id":null,"html_url":"https://github.com/shamscorner/nest-stackter","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/shamscorner%2Fnest-stackter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shamscorner%2Fnest-stackter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shamscorner%2Fnest-stackter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shamscorner%2Fnest-stackter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shamscorner","download_url":"https://codeload.github.com/shamscorner/nest-stackter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248909800,"owners_count":21181781,"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":["amazon-s3","compodoc","cqrs-pattern","elasticsearch","google-authentication","graphql","jwt-authentication","nestjs","nodemailer","postgresql","redis-cache","rest-api","swagger","typeorm","typescript"],"created_at":"2025-03-28T04:39:30.052Z","updated_at":"2025-04-14T15:50:29.230Z","avatar_url":"https://github.com/shamscorner.png","language":"TypeScript","readme":"**Under Development: Do not use this repository for production purpose!**\n\n## Description\n\n[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository with custom setup maintaining industry standard best practices. Just clone and start building without worrying about anything. Focus on the product not the setup.\n\n## Overview\n\n- `config/` setup - separated segment for each config\n\t- `app.config.ts`\n\t- `aws.config.ts`\n\t- `database.config.ts`\n\t- `jwt.config.ts`\n\t- `typeorm.config.ts`\n- `authentication` module - JWT token based cookie authentication out of the box\n- `database` module - [Typeorm](https://typeorm.io/)\n- API validation and serialization\n- custom pagination (page, limit) - check the `src/features/comments` module\n- [CQRS](https://docs.nestjs.com/recipes/cqrs) - check the `src/features/comments` module\n- Out of the box file upload feature module to Amazon S3 (both private and public)\n- [CQRS](https://docs.nestjs.com/recipes/cqrs) + pagination - a complete module =\u003e `src/features/products`\n- Swagger Open API specification setup out of the box - check the `src/features/users/users.controller.ts` for examples\n- PostgreSQL database file storing support - check the avatar upload of `users.services.ts` and `src/features/database-files`\n- Soft Delete example - check the `src/features/categories` module\n- Two factor authentication setup out of the box - use `JwtTwoFactorGuard` when some specific endpoints need 2FA\n- Logging with built-in logger and TypeORM is configurable through `.env` - `TYPEORM_LOGGING=true` - specify false to disable database logging\n- `Health` module\n- Documentation with Compodoc and JSDoc - take a look on the `src/features/files/files.service.ts` for a detailed example. And for the generation command, run `pnpm run documentation:serve`. Or to customize it, check the `package.json`.\n- Sending scheduled emails with cron and Nodemailer - `src/features/email-scheduling` and check the email service in `src/email`\n- Out of the box Google authentication module - check out the `src/features/google-authentication` module\n- Roles and Permissions based authorization setup - check out the `src/authorization` module. For implementation, check the `src/features/categories` and `src/features/products` modules\n- In memory cache - check the `src/features/categories` module\n- Redis cache setup out of the box - check the `src/features/posts.module.ts` module\n- ElasticSearch setup out of the box with docker-compose - check the `/src/features/search.module.ts` module and `/src/features/posts.module.ts` for implementation details\n- Queue setup example - check the `/src/features/optimize` module\n\n## Installation\n\n```bash\n$ npm install\n```\n\n## Running the app\n\n```bash\n# development\n$ npm run start\n\n# watch mode\n$ npm run start:dev\n\n# production mode\n$ npm run start:prod\n```\n\n## Test\n\n```bash\n# unit tests\n$ npm run test\n\n# e2e tests\n$ npm run test:e2e\n\n# test coverage\n$ npm run test:cov\n```\n\n## License\n\nNest is [MIT licensed](License).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshamscorner%2Fnest-stackter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshamscorner%2Fnest-stackter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshamscorner%2Fnest-stackter/lists"}