Clean Node API Using TypeScript,TDD,and Clean Architecture

Clean Node API: Esta API faz parte do treinamento do Professor Rodrigo Manguinho (Mango) na Udemy. O principal objetivo é implementar uma API em Node.js usando TypeScript, TDD (Desenvolvimento Orientado por Testes), e princípios da Arquitetura Limpa. Este projeto se baseia nos princípios SOLID e nos melhores padrões de projeto para criar soluções escaláveis e de fácil manutenção.

Princípios da Arquitetura Limpa

Esta API incorpora os seguintes princípios:

  • Princípios SOLID:
  • Single Responsibility Principle (SRP): Cada classe possui uma única responsabilidade.
  • Open-Closed Principle (OCP): Classes estão abertas para extensão, mas fechadas para modificação.
  • Liskov Substitution Principle (LSP): Subtipos devem ser substituíveis por seus tipos base.
  • Interface Segregation Principle (ISP): Interfaces específicas ao cliente, em vez de interfaces de propósito geral.
  • Dependency Inversion Principle (DIP): Alto nível não deve depender de baixo nível; ambos devem depender de abstrações.

Outros Princípios de Desenvolvimento

  • Separação de Responsabilidades (SOC): Separação clara das camadas de aplicação.
  • DRY (Don't Repeat Yourself): Evitar duplicação de código.
  • YAGNI (You Aren't Gonna Need It): Desenvolver apenas o necessário.
  • KISS (Keep It Simple, Stupid): Manter a simplicidade no design e na implementação.

Padrões de Projeto Usados

Os seguintes padrões foram aplicados para tornar a API mais modular e robusta:

  • Factory: Facilita a criação de objetos complexos.
  • Adapter: Permite compatibilidade entre interfaces diferentes.
  • Decorator: Adiciona funcionalidades sem modificar a estrutura básica.
  • Proxy: Controla o acesso a recursos sensíveis.
  • Dependency Injection (DI): Facilita a manutenção e teste ao injetar dependências.

A API oferece uma estrutura prática e eficaz para o desenvolvimento de aplicações escaláveis e modularizadas, aproveitando o poder dos testes e da arquitetura limpa.

folder
clean-node-api:API em NodeJs usando打字稿,TDD,Clean Architecture,设计模式和SOLID原则 预估大小:187个文件
file
.eslintrc.json 357B
file
.gitignore 67B
file
package.json 2KB
file
.lintstagedrc.json 86B
file
package-lock.json 393KB
file
jest.config.js 756B
file
tsconfig-build.json 111B
file
tsconfig.json 286B
file
.eslintignore 59B
file
readme.md 4KB
file
jest-unit-config.js 100B
file
load-survey-result.md 459B
file
login.md 950B
file
save-survey-result.md 1KB
file
add-survey.md 593B
file
load-surveys.md 465B
file
signup.md 1KB
file
jest-mongodb-config.js 187B
file
jest-integration-config.js 100B
file
.huskyrc.json 99B
zip 文件大小:203.23KB