https://github.com/jaimeyzv/nest-clean-architecture
Clean Architecture with Node JS using Nest JS, Typescript, TypeORM and SQLServer database following SOLID principles and RESTful as architectural style
https://github.com/jaimeyzv/nest-clean-architecture
clean-architecture nestjs sqlserver typescript
Last synced: 3 months ago
JSON representation
Clean Architecture with Node JS using Nest JS, Typescript, TypeORM and SQLServer database following SOLID principles and RESTful as architectural style
- Host: GitHub
- URL: https://github.com/jaimeyzv/nest-clean-architecture
- Owner: jaimeyzv
- Created: 2025-07-31T21:37:05.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-08-20T16:18:18.000Z (10 months ago)
- Last Synced: 2025-10-07T20:47:31.160Z (9 months ago)
- Topics: clean-architecture, nestjs, sqlserver, typescript
- Language: TypeScript
- Homepage:
- Size: 313 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Clean Architecture with Nest JS
## Description
Although I haven’t published a previous article on this topic, I’ve had the opportunity to work on several real-world projects — many of them based in the United States — where we implemented microservices using [Clean Architecture](https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html) principles.
Recently, I’ve been working with NestJS and TypeScript, and I found it to be the perfect combination to bring structure and scalability to Node.js applications. The robust typing system of TypeScript, combined with the modular and opinionated design of NestJS, provides a powerful foundation for building maintainable APIs.
Coming from a background that values SOLID principles and object-oriented design, it felt natural to apply those principles while designing services, use cases, and domain models.
Like any architectural approach, Clean Architecture involves trade-offs. It's important to strike the right balance — avoiding unnecessary complexity or over-abstraction, while still maintaining flexibility and separation of concerns.
In my projects, we've adopted the concepts proposed by Robert C. Martin (Uncle Bob) and combined them with ideas from Hexagonal Architecture, Onion Architecture, and Screaming Architecture. The goal has always been to make the application resilient to change, especially given how often client requirements evolve — which, as we all know, is a certainty in software development.
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).
## Installation
```bash
$ npm install
```
## Running the app
```bash
# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod
```
## Test
```bash
# unit tests
$ npm run test
# e2e tests
$ npm run test:e2e
# test coverage
$ npm run test:cov
```
## 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 - [Jaime Zamora](https://github.com/jaimeyzv)
## License
Nest is [MIT licensed](LICENSE).