Teste Sami
🚀 Descrição do teste
O teste consiste em desenvolver uma API Rest de listagem de beneficiários, com alguns dados básicos:
Nome, CPF, RG, Data de Nascimento, Tipo de Plano (pode ser Basic, Standard ou Premium) e Número de dependentes (este campo pode ser vazio ou não).
Requisitos:
- Criar novos registros;
- Ler registros existentes;
- Alterar registros existentes;
- Deletar registros existentes.
📜 Documentação
Tecnologias utilizadas
Estrutura de pastas
src # Onde fica todo código da aplicação
├── container # Configuração responsável pela injeção de dependência
├── controllers # Onde ficam os controllers da aplicação
├── dtos # Onde estão algumas interfaces
├── middlewares # Onde ficam os middlewares
├── models # Arquivo de modelos da base de dados usado
├── repositories # Camada de abstração da persistência no banco
├── services # Classes que fazem interação com os repositórios
├── tests # Onde estão todos os testes
├─ app.ts # Início da aplicação
├─ routes.ts # Arquivo que contém todas as rotas
├─ server.ts # Arquivo que inicia o servidor da aplicação
Instruções para rodar a API
# Pré requisitos para rodar a aplicação
# Ter o Docker e docker-compose configurado na maquina.
# Clonando o repositório
$ git clone https://github.com/gdlopes/sami-challenge.git
# Navegando para a pasta do projeto
$ cd sami-challenge
# Instalando as dependências
$ yarn
# Build do docker
$ docker-compose build
# Subindo o docker
$ docker-compose up
# Para rodar os testes basta
$ yarn test
❤️
Testes são importantes
Sobre as rotas criadas
POST http://localhost:3333/recipients - rota para criar um novo beneficiário.
GET http://localhost:3333/recipients - rota para buscar todos os beneficiários.
PUT http://localhost:3333/recipients/:id - rota para alterar um beneficiário específico.
DELETE http://localhost:3333/recipients/:id - rota para deletar um beneficiário específico.
Testando API localmente
Utilize as rotas citadas acima com seus devidos métodos HTTP para ver tudo fundionando, pode utilizar o postman ou qualquer aplicativo equivalente.
Caso esteja acostumado com o Insomnia e o tenha instalado, pode importar o projeto através deste botão que deixei pronto com as rotas da aplicação
👏
Thats it folks Get a
by Gustavo Lopes