https://github.com/pezzetti/base-app-nestjs
Base application using nest JS focused on DDD architecture and SOLID principles
https://github.com/pezzetti/base-app-nestjs
base-application boilerplate ddd-architecture nestjs solid-principles typescript
Last synced: 8 months ago
JSON representation
Base application using nest JS focused on DDD architecture and SOLID principles
- Host: GitHub
- URL: https://github.com/pezzetti/base-app-nestjs
- Owner: pezzetti
- License: mit
- Created: 2019-10-22T17:59:07.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-04-11T22:43:17.000Z (over 2 years ago)
- Last Synced: 2024-11-06T23:38:41.448Z (about 1 year ago)
- Topics: base-application, boilerplate, ddd-architecture, nestjs, solid-principles, typescript
- Language: TypeScript
- Homepage:
- Size: 4.18 MB
- Stars: 378
- Watchers: 9
- Forks: 38
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-nestjs - NestJS DDD Boilerplate
- awesome-nestjs - NestJS DDD Boilerplate - Domain Driven Design Base app with NestJS, Class Validator and TypeORM. SOLID principles applied to create fully testable applications. (Resources)
README
# NestJS API boilerplate
[](https://codeclimate.com/github/pezzetti/base-app-nestjs/maintainability)
[](https://travis-ci.org/pezzetti/base-app-nestjs)
[](https://codecov.io/gh/pezzetti/base-app-nestjs)
## Description
Base application API made with NestJS, TypeORM, GraphQL, and Jest
### Folder structure
Code organization based on NestJS modules with Domain Driven Design, focused on codebase scalability.
### SOLID
Using SOLID principles to provide better code design for easier maintenance and testing.
### GraphQL / REST
You can either create API's REST or Graphql
## Installation
```bash
$ npm install
$ docker-compose up -d
$ cp .env-sample .env
```
## Running the app
```bash
# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod
```
## Endpoints
```
/users or /graphql
```
## Swagger documentation
```
/docs
```
## Test
```bash
# unit tests
$ npm run test
# e2e tests
$ npm run test:e2e
# test coverage
$ npm run test:cov
```
## License
Nest is [MIT licensed](LICENSE).