https://github.com/renanrudney/survey_api-clean-code-node
Node API and GraphQL using TDD, DDD, Clean Architecture.
https://github.com/renanrudney/survey_api-clean-code-node
clean-architecture ddd ddd-architecture ddd-patterns graphql mongodb node node-js nodejs nodejs-api solid solid-principles tdd typescript
Last synced: about 2 months ago
JSON representation
Node API and GraphQL using TDD, DDD, Clean Architecture.
- Host: GitHub
- URL: https://github.com/renanrudney/survey_api-clean-code-node
- Owner: renanrudney
- Created: 2020-09-15T23:24:14.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2021-07-27T00:17:27.000Z (almost 5 years ago)
- Last Synced: 2025-02-25T17:48:06.951Z (over 1 year ago)
- Topics: clean-architecture, ddd, ddd-architecture, ddd-patterns, graphql, mongodb, node, node-js, nodejs, nodejs-api, solid, solid-principles, tdd, typescript
- Language: TypeScript
- Homepage:
- Size: 3.64 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[](https://travis-ci.com/renanrudney/survey-clean-node-api)
[](https://coveralls.io/github/renanrudney/survey-clean-node-api)
[](http://standardjs.com)
# **Survey Clean Node API**
Study Case: Node with Typescript, TDD, DDD, Clean Architecture and SOLID.
---
* Works with GraphQL
## [**API Documentation**](https://clean-node-api-survey.herokuapp.com/api-docs)
## Prerequisites
Before you begin, ensure you have met the following requirements:
* You have installed the 12.x version of [NodeJS](https://nodejs.org/en/download/)
* You have a mongodb instance
## Installing Project
To install dependencies, run:
```
npm install
```
## Using Project
To use, follow these steps:
```
npm run build:watch
npm run debug
```
Or run tests:
```
npm test
```
---
>## Principles
* Single Responsibility Principle (SRP)
* Open Closed Principle (OCP)
* Liskov Substitution Principle (LSP)
* Interface Segregation Principle (ISP)
* Dependency Inversion Principle (DIP)
* Separation of Concerns (SOC)
* Don't Repeat Yourself (DRY)
* You Aren't Gonna Need It (YAGNI)
* Keep It Simple, Silly (KISS)
* Composition Over Inheritance
* Small Commits
>## Methodology and Design
* TDD
* Clean Architecture
* DDD
* Conventional Commits
* GitFlow
* Modular Design
* Dependency Diagrams
* Use Cases
* Continuous Integration
* Continuous Delivery
* Continuous Deployment