#Clean Node API
Essa API faz parte do treinamento do professor rodrigo manguinho (mango) na udemy
o objetivo do treinamento é mostrar como criar uma api com uma arquitetura bem definida e desacoplada, utilizando TDD(programação orientada a testes) como metodologia de trabalho, clean architecture para fazer a distruibuição de responsabilidades em camadas, sempre seguindo os principios do solid e, sempre que possivel, aplicando design patterns para resolver alguns problemas comuns
-
cadastro
-
login
-
criar enquete
-
listar enquetes
-
responder enquete
-
resultado da enquete
-
Single Responsability Principle (SRP)
-
Open Closed Principle (OCP)
-
Liskov Substitution Principle (LSP)
-
Interface Segregation Principle (ISP)
-
Dependency Inversion Principle (DIP)
-
Dont Repeat Yourself (DRY)
-
Composition Over Inheritance
-
Small Commits
-
Factory
-
Adapter
-
Composite
-
Decorator
-
Proxy
-
Dependency Injection
-
Abstract Server
-
Composition Root
-
TDD
-
Clean Architecture
-
DDD
-
Conventional Commits
-
GitFlow
-
Modular Design
-
Dependency Diagrams
-
Use Cases
-
Continuous Integration
-
Continuous Delivery
-
Continuous Deployment
-
yarn
-
TypeScript
-
Git
-
Docker
-
Jest
-
MongoDB
-
Travis CI
-
Coveralls
-
Bcrypt
-
jsonWebToken
-
Validator
-
Express
-
Supertest
-
Husky
-
Lint Staged
-
Eslint
-
Standard JavaScript Style
-
Sucrase
-
Nodemon
-
Rimraf
-
in-Memory MongoDb Server
-
Atalhos no Git
-
Log de Erro
-
Segurança (Hashing, Encryption e Encoding)
-
CORS
-
Middlewares
-
Testes de Integração
-
Testes Unitários
-
Cobertura de Testes
-
Mocks
-
Stubs
-
Spies
-
Deploy com Typescript
-
Deploy com Heroku
-
Uso de breakpoints no Typescript
-
Uso correto de tags no Git