O projeto e um loja de artigos
- Back-end
- Typescript
- Jest
- Express
- TypeOrm
Siga os passos abaixo dentro da pasta após clonar ou baixar o projeto:
# Instalar as dependências do projeto
$ yarn install
ou
$ npm install
# Rodar o projeto
$ yarn dev
ou
$ npm dev
-
e possível coloca tipo nas informação que um função pode receber
-
facilitar na manutenção de código
-
para adicionar o typescript
yarn add typescript -D
utilizando o prettier e o eslint e possível definir um padronização de projeto
utilizando o eslint estou pegando o estilo da airbnb
- fazer a instala o eslint
yarn add eslint -D
- configurar o eslint
yarn eslint --init
- No prettier e so para definir as aspa que iremos usar
repositórios sao camada responsável pela manipulação de dados na aplicação no banco de dados.
-
as rota nao precisa saber as informação que tem dentro da categoria o único que tem qu conhecer os modelos sao os repositórios nao a rotas
-
podemos usa o conceito DTO
Data transfer objeto
- um objeto que que seja responsável entra as camadas.
E para a organização de projeto
- S
- SRP
- Single Responsabilidade Principle (Principio da Responsabilidade única)
- SRP
- O
- OCP
- Open-Closed Principle (Principio aberto/fechado)
- OCP
- L
- LSP
- Liskov Substitution Principle (Principio de substituição de liskov)
- LSP
- I
- ISP
- Interface Segregation Principle (Principio de Segregação de interface)
- ISP
- D
- DIP
- Dependency Inversion Principle (Principio da inversão de dependência)
- DIP
- aplicado singleton
- nao vai permite instância varias da mesma classe garantido que tenha so uma instância da classe
a dependência para criar um documentação para aplicação desenvolvida
- e um orm para facilita a construção do banco de dados
- vai injeta de forma automático os repositórios e os use case as independência
-
Teste Unicário
- Teste de funcionalidade do sistema
- nao faz teste de banco e de api externo
- mas teste as regras de negócios
-
Teste de Integração
- Testar dos os fluxos da aplicação
- integração com banco de dados
- serviços externo
TDD - Test Driven Development