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.
- Typescript
- Express
- MongoDB
- Mongoose
- JWT
- Argon2
- Husky
- Eslint
- Lint-staged
- Jest
- Faker
- Swagger
- Test Driven Development
- Clean Architecture
- Domain Driven Design
- Conventional commits
- Logs de erro
- Segurança (Hashing, Encryption e Encoding)
- Middlewares
- Nível de Acesso nas Rotas (Admin, User e Anônimo)