Bravi Web
Você pode testar esta aplicação aqui
Repositório projeto WEB: bravi-web
Comandos
npm run dev
npm run build
npm run start
Princípios
- Single Responsibility Principle (SRP)
- Open Closed Principle (OCP)
- Liskov Substitution Principle (LSP)
- Interface Segregation Principle (ISP)
- Dependency Inversion Principle (DIP)
Design Patterns
- Factory
- Adapter
- Composite
- Decorator
- Proxy
- Dependency Injection
Metodologias e Designs
- TDD
- Clean Architecture
- DDD
- Modular Design
- Use Cases
Bibliotecas e Ferramentas
- NPM
- Typescript
- Git
- Docker
- Jest
- Prisma
- Faker
- Express
- Supertest
- Husky
- Lint Staged
- Eslint
- Standard Javascript Style
- ts-node-dev
- MockDate
Features do Node
- API Rest com Express
- CORS
- Middlewares
Features de Testes
- Testes Unitários
- Testes de Integração (API Rest)
- Mocks
- Stubs
- Spies
- Fakes
Features de banco de dados
SQLite foi escolhido como o banco de dados relacional da aplicação, o mesmo se comunica em conjuto dos repositórios atráves do Prisma ORM.
Documentação da API
Retorna todas as pessoas
Retorna pessoa por id
Parâmetro |
Tipo |
Descrição |
id |
string |
Obrigatório. O ID da pessoa |
Cadastra pessoa
Parâmetro |
Tipo |
Descrição |
id |
string |
Obrigatório. O ID da pessoa |
firstName |
string |
Obrigatório. O nome da pessoa |
lastName |
string |
Obrigatório. O sobrenome da pessoa |
Altera pessoa
Parâmetro |
Tipo |
Descrição |
id |
string |
Obrigatório. O ID da pessoa |
firstName |
string |
Obrigatório. O nome da pessoa |
lastName |
string |
Obrigatório. O sobrenome da pessoa |
Deleta pessoa
Parâmetro |
Tipo |
Descrição |
id |
string |
Obrigatório. O ID da pessoa |
Retorna todas os contatos
Retorna contato por id da pessoa
Parâmetro |
Tipo |
Descrição |
id |
string |
Obrigatório. O ID da pessoa |
Cadastra contato
Parâmetro |
Tipo |
Descrição |
id |
string |
Obrigatório. O ID da pessoa |
type |
string |
Obrigatório. Tipo de contato |
info |
string |
Obrigatório. Informação do contato |
Altera contato
Parâmetro |
Tipo |
Descrição |
id |
string |
Obrigatório. O ID do contato |
type |
string |
Obrigatório. Tipo de contato |
info |
string |
Obrigatório. Informação do contato |
Deleta contato
DELETE /api/contact/${id}
Parâmetro |
Tipo |
Descrição |
id |
string |
Obrigatório. O ID do contato |