diff --git a/README.md b/README.md index 62d8623..5ae0fd3 100644 --- a/README.md +++ b/README.md @@ -1,100 +1,34 @@ # typescript-nestjs-template -
+A simple and idiomatic REST API boilerplate built in TypeScript with [NestJS](https://nestjs.com), designed for clarity, modularity and extensibility. +Designed to showcase best practices in modular architecture, request validation, documentation, and automated testing. -[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456 -[circleci-url]: https://circleci.com/gh/nestjs/nest +## ✨ Features -A progressive Node.js framework for building efficient and scalable server-side applications.
- - +- 🧱 Modular and scalable structure +- 🚦 RESTful routing with controllers and services +- 📄 Swagger documentation at `/docs` +- ✅ Request validation with `class-validator` +- 🧪 Unit & E2E tests with `Jest` and `Supertest` +- 🐳 Minimal Docker support +- 🧰 Designed as a reusable starter template -## Description +## 📦 Stack -[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository. +- Node.js 20+ +- NestJS 10+ +- TypeScript (strict mode) +- class-validator / class-transformer +- Swagger via `@nestjs/swagger` +- ESLint + Prettier +- Jest + Supertest -## Project setup +## 🚀 Getting Started ```bash -$ yarn install -``` - -## Compile and run the project - -```bash -# development -$ yarn run start - -# watch mode -$ yarn run start:dev - -# production mode -$ yarn run start:prod -``` +# Install dependencies +yarn install -## Run tests - -```bash -# unit tests -$ yarn run test - -# e2e tests -$ yarn run test:e2e - -# test coverage -$ yarn run test:cov +# Run the server in watch mode +yarn start:dev ``` - -## Deployment - -When you're ready to deploy your NestJS application to production, there are some key steps you can take to ensure it runs as efficiently as possible. Check out the [deployment documentation](https://docs.nestjs.com/deployment) for more information. - -If you are looking for a cloud-based platform to deploy your NestJS application, check out [Mau](https://mau.nestjs.com), our official platform for deploying NestJS applications on AWS. Mau makes deployment straightforward and fast, requiring just a few simple steps: - -```bash -$ yarn install -g @nestjs/mau -$ mau deploy -``` - -With Mau, you can deploy your application in just a few clicks, allowing you to focus on building features rather than managing infrastructure. - -## Resources - -Check out a few resources that may come in handy when working with NestJS: - -- Visit the [NestJS Documentation](https://docs.nestjs.com) to learn more about the framework. -- For questions and support, please visit our [Discord channel](https://discord.gg/G7Qnnhy). -- To dive deeper and get more hands-on experience, check out our official video [courses](https://courses.nestjs.com/). -- Deploy your application to AWS with the help of [NestJS Mau](https://mau.nestjs.com) in just a few clicks. -- Visualize your application graph and interact with the NestJS application in real-time using [NestJS Devtools](https://devtools.nestjs.com). -- Need help with your project (part-time to full-time)? Check out our official [enterprise support](https://enterprise.nestjs.com). -- To stay in the loop and get updates, follow us on [X](https://x.com/nestframework) and [LinkedIn](https://linkedin.com/company/nestjs). -- Looking for a job, or have a job to offer? Check out our official [Jobs board](https://jobs.nestjs.com). - -## Support - -Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support). - -## Stay in touch - -- Author - [Kamil Myśliwiec](https://twitter.com/kammysliwiec) -- Website - [https://nestjs.com](https://nestjs.com/) -- Twitter - [@nestframework](https://twitter.com/nestframework) - -## License - -Nest is [MIT licensed](https://github.com/nestjs/nest/blob/master/LICENSE). diff --git a/yarn.lock b/yarn.lock index 6a97842..624b046 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6903,45 +6903,6 @@ __metadata: languageName: node linkType: hard -"typescript-nestjs-template@workspace:.": - version: 0.0.0-use.local - resolution: "typescript-nestjs-template@workspace:." - dependencies: - "@eslint/eslintrc": "npm:^3.2.0" - "@eslint/js": "npm:^9.18.0" - "@nestjs/cli": "npm:^11.0.0" - "@nestjs/common": "npm:^11.0.1" - "@nestjs/core": "npm:^11.0.1" - "@nestjs/platform-express": "npm:^11.0.1" - "@nestjs/schematics": "npm:^11.0.0" - "@nestjs/swagger": "npm:^11.2.0" - "@nestjs/testing": "npm:^11.0.1" - "@types/express": "npm:^5.0.0" - "@types/jest": "npm:^30.0.0" - "@types/node": "npm:^22.10.7" - "@types/supertest": "npm:^6.0.2" - class-transformer: "npm:^0.5.1" - class-validator: "npm:^0.14.2" - eslint: "npm:^9.18.0" - eslint-config-prettier: "npm:^10.0.1" - eslint-plugin-prettier: "npm:^5.2.2" - globals: "npm:^16.0.0" - jest: "npm:^30.0.0" - prettier: "npm:^3.4.2" - reflect-metadata: "npm:^0.2.2" - rxjs: "npm:^7.8.1" - source-map-support: "npm:^0.5.21" - supertest: "npm:^7.0.0" - swagger-ui-express: "npm:^5.0.1" - ts-jest: "npm:^29.2.5" - ts-loader: "npm:^9.5.2" - ts-node: "npm:^10.9.2" - tsconfig-paths: "npm:^4.2.0" - typescript: "npm:^5.7.3" - typescript-eslint: "npm:^8.20.0" - languageName: unknown - linkType: soft - "ts-node@npm:^10.9.2": version: 10.9.2 resolution: "ts-node@npm:10.9.2" @@ -7083,6 +7044,45 @@ __metadata: languageName: node linkType: hard +"typescript-nestjs-template@workspace:.": + version: 0.0.0-use.local + resolution: "typescript-nestjs-template@workspace:." + dependencies: + "@eslint/eslintrc": "npm:^3.2.0" + "@eslint/js": "npm:^9.18.0" + "@nestjs/cli": "npm:^11.0.0" + "@nestjs/common": "npm:^11.0.1" + "@nestjs/core": "npm:^11.0.1" + "@nestjs/platform-express": "npm:^11.0.1" + "@nestjs/schematics": "npm:^11.0.0" + "@nestjs/swagger": "npm:^11.2.0" + "@nestjs/testing": "npm:^11.0.1" + "@types/express": "npm:^5.0.0" + "@types/jest": "npm:^30.0.0" + "@types/node": "npm:^22.10.7" + "@types/supertest": "npm:^6.0.2" + class-transformer: "npm:^0.5.1" + class-validator: "npm:^0.14.2" + eslint: "npm:^9.18.0" + eslint-config-prettier: "npm:^10.0.1" + eslint-plugin-prettier: "npm:^5.2.2" + globals: "npm:^16.0.0" + jest: "npm:^30.0.0" + prettier: "npm:^3.4.2" + reflect-metadata: "npm:^0.2.2" + rxjs: "npm:^7.8.1" + source-map-support: "npm:^0.5.21" + supertest: "npm:^7.0.0" + swagger-ui-express: "npm:^5.0.1" + ts-jest: "npm:^29.2.5" + ts-loader: "npm:^9.5.2" + ts-node: "npm:^10.9.2" + tsconfig-paths: "npm:^4.2.0" + typescript: "npm:^5.7.3" + typescript-eslint: "npm:^8.20.0" + languageName: unknown + linkType: soft + "typescript@npm:5.8.3": version: 5.8.3 resolution: "typescript@npm:5.8.3"