refactored-contact-book-api
Sumário
Motivação
Este app consiste em uma refatoração do repositório de código contact-book-api, que por sua vez consiste em uma API de uma agenda telefônica.
Eis a descrição do repositório de código supracitado:
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óriodocs/, é 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. […]
Neste repositório de código, há apenas testes de ponta a ponta e estão disponíveis no diretório e2e/.
Este foi o terceiro 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 | |
| Virtualização de banco de dados | Docker |
| Banco de dados | MongoDB |
Como rodar
Pré-requisitos
Passo a passo
-
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 a API:
Para npm:
$ npm run dev
Para Yarn:
$ yarn dev
- Por fim, execute o seguinte comando para testar a API iniciada:
Para npm:
$ npm run test
Para Yarn:
$ yarn test