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:
-
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; -
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";
-
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";
-
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 → |
---|
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 |
-
Clone o repositório de código em sua máquina;
-
Abra um shell de comando de sua preferência (prompt de comando, PowerShell, terminal etc.);
-
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
- 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.
- Execute o seguinte comando para iniciar o app:
Para npm:
$ npm run dev
Para Yarn:
$ yarn dev
- 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.