O objetivo da API deve ser disponibilizar todas as configs de permissão, enumeração, e modularização de sync
Basicamente a API deve disponibilizar para o APP tudo o que for necessário para conseguir funcionar sem internet, dependendo apenas de uma consulta de listagem de permissões do usuário logado, módulos a qual ele tem acesso, e configurações “gerais” de apresentação.
A primeiro momento não parece ter uma regra de negócio especifica que dependa da API. Se o APP faz a request é porquê deve ter permissão, as validações da API irão se restringir a garantir a consistência dos dados e autenticação.
Estrutura do projeto
Linguagem: Node.js
Framework: NESTJS
Será aplicado um semi clean:
Camandas: Regras (UC), DB, Services, Framework
UC: Será a regra de negócio assim como cada ação da API, “cada rota um UC”
DB: Classes de conexão no banco utilizando o prisma como ORM
Services: Tudo o que for serviço externo a API, DEVE ser feita inversão de dependencia assinada por interface.
Framework: sem a camada do .service, apenas controller → UC → serviço. UC fica fora do framework.
Os testes unitários devem ser aplicados nas camadas de UC, DB, Services
Os testes 2e2 devem passar pelo framework, batendo em um DB real (DB de teste local)
Nem todo o teste unitário deve ter um faker apenas os mais importantes.
Want to print your doc? This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (