gdlopes / sami-challenge

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 ❤️

image

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 👇

Run in Insomnia}

Thats it folks 👏

Get a and keep learning 📚 !


by Gustavo Lopes 🎉

About


Languages

Language:TypeScript 68.7%Language:JavaScript 30.3%Language:Dockerfile 0.8%Language:Shell 0.1%