Skip to content
This repository has been archived by the owner on Jul 5, 2023. It is now read-only.
/ contact-book-api Public archive

API de uma agenda telefônica testada com Postman.

Notifications You must be signed in to change notification settings

mdccg/contact-book-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

contact-book-api

Sumário

Motivação

Este app consiste em uma API de uma agenda telefônica.

A agenda armazena o nome, o endereço de e-mail, o número de telefone e a data de nascimento de um contato; sendo facultativo apenas o endereço de e-mail. O arquivo contact-book-api-requests.postman_collection.json, presente no diretório docs/, é uma coleção de requisições e testes de API solicitada para a primeira atividade avaliativa da unidade curricular. A coleção contém quatro requisições para salvar novos contatos com diferentes tipos de erros de validação. Cada requisição contém um script de teste que garante que a resposta da API corresponda ao resultado esperado para o erro de validação fornecido. As quatro requisições da coleção consistem em:

  1. Salvar um novo contato com dados de entrada válidos: O script de teste verifica se o status da resposta é 201 e se o objeto de contato retornado possui uma propriedade _id não nula;

  2. Impedir que um contato com um nome vazio seja salvo: O script de teste verifica se o status da resposta é 400 e se a mensagem de erro é "Nome não pode estar vazio";

  3. Impedir que um contato com um e-mail inválido seja salvo: O script de teste verifica se o status da resposta é 400 e se a mensagem de erro é "E-mail inválido";

  4. Impedir que um contato com um número de telefone inválido seja salvo: O script de teste verifica se o status da resposta é 400 e se a mensagem de erro é "Número de telefone inválido".

Este foi o segundo repositório de código apresentado no Curso Superior de TSI do IFMS como requisito para obtenção da nota parcial das atividades da unidade curricular Linguagem de Programação III.

← Repositório anterior Próximo repositório →

Pilha de tecnologia

As seguintes tecnologias foram utilizadas para desenvolver este app:

Papel Tecnologia
Ambiente de execução Node
Linguagem de programação TypeScript
Back-end Express.js
Framework de teste Postman
Virtualização de banco de dados Docker
Banco de dados MongoDB

Galeria

Serviço de consulta para exibir contatos cuja data de nascimento está incluída no intervalo especificado

Como rodar

Pré-requisitos

Passo a passo

  1. Clone o repositório de código em sua máquina;

  2. Abra um shell de comando de sua preferência (prompt de comando, PowerShell, terminal etc.);

  3. Instale as dependências do projeto através do seguinte comando:

$ npm install

Caso esteja utilizando o gerenciador de pacotes Yarn, execute o seguinte comando como alternativa:

$ yarn
  1. Com o Docker instalado, execute o comando abaixo para levantar o container Docker com o respectivo banco de dados virtualizado. Certifique-se de estar no diretório do arquivo docker-compose.yml;
$ docker-compose up -d

O parâmetro -d serve para desocupar o shell de comando logo após a execução do comando. É uma boa convenção, ao encerrar a execução do app, derrubar o container levantado através do comando:

$ docker-compose down

Mas, não se preocupe. As tuplas inseridas no banco de dados não serão deletadas com a derrubada do container.

  1. Execute o seguinte comando para iniciar o app:

Para npm:

$ npm run dev

Para Yarn:

$ yarn dev
  1. Abra o Postman e importe o arquivo de coleção Postman contact-book-api-requests.postman_collection.json para executar os testes unitários dos serviços de consulta;

Como alternativa ao Postman, você pode instalar as dependências globais newman e newman-reporter-htmlextra para gerar relatórios sobre o arquivo em questão via interface de linha de comando e interface gráfica do usuário, respectivamente.