# CHL App APIs # As APIs contidas nesta aplicação servem para servir ao aplicativo da CHL corretora. ### Estrutura de pastas na raiz do projeto ### * __tests__ - Testes de unidade * __code_coverage__ - Cobertura de código pelos testes de unidade * __node_modules__ - Dependências node do projeto * __src__ - Código fonte da aplicação ### Estrutura de camadas em src ### * __core__ - Códigos genéricos, que são utilizados em um contexto geral na aplicação. (ex: DTOs, HTTP Client, etc..) * __domain__ - Códigos do negócio. Aqui estarão as entidades relacionadas ao negócio, regras do negócio, processos do negócio, etc. * __infraestructure__ - Códigos que atendem à infraestrutura do projeto. Parecido com a pasta core, contudo são códigos que somente envolvem a infraestrutura da aplicação. (Repositórios, Adapters, Configs, Routes, etc...) * __presentation__ - Códigos de apresentação para os consumidores. Aqui estarão as implentações das REST APIs e as respectivas validações de contratos de dados. ### Estrutura de camadas em __tests__ ### * Segue a mesma estrutura da pasta SRC, contudo é utilizada para testar o código em SRC. Deve-se manter a mesma estrutura de pastas de SRC, porém com o código de teste. ## Arquitetura do projeto ## ![Desenho Arquitetura](CHL_corretora.png) ## Rodando o projeto ## * `npm install` para instalar as dependencias do projeto * Rodando o projeto local `npm run dev` * Para rodar os testes de unidade enquanto desenvolvimento `npm run test_dev`, os testes rodarão novamente com qualquer alteração * Para rodar os testes de unidade `npm run test`