Node API com TDD, DDD e Clean Architecure

Projeto do curso do Manguinho

Esse é um projeto cujo objetivo é criar uma API com uma arquitetura bem definida e desacoplada, utilizando TDD (desenvolvimento guiado por teste) como metodologia de trabalho, Clean Architecture para fazer a distribuição de responsabilidades em camadas, sempre seguindo os princípios do SOLID e, sempre que possível, aplicando Design Patterns para resolver alguns problemas comuns.

Tecnologias utilizadas

  • Typescript
  • Express
  • MongoDB
  • Mongoose
  • JWT
  • Argon2
  • Husky
  • Eslint
  • Lint-staged
  • Jest
  • Faker
  • Swagger

Metodologias e design

  • Test Driven Development
  • Clean Architecture
  • Domain Driven Design
  • Conventional commits

Features

  • Logs de erro
  • Segurança (Hashing, Encryption e Encoding)
  • Middlewares
  • Nível de Acesso nas Rotas (Admin, User e Anônimo)