Criação de uma API em Node.JS que converta textos digitados para os respectivos números que deveriam ser digitados quando não se tem a possibilidade de utilizar teclado QWERTY, assim como converter os números digitados para o texto correspondente.
O enunciado completo do desafio se encontra neste link.
- NodeJS
- Docker
- Docker Compose
- MongoDB
- Insomnia
- Docker
- Docker Compose
- Insomnia ou Postman (Ou similar, para enviar requisições do tipo POST)
Clone o projeto em algum diretório de sua escolha e execute o comando:
$ docker-compose up
Ao término da execução ficarão disponíveis dois endpoints em localhost:3000:
- /convertSms - Requisição do tipo POST, um texto precisa ser enviado em formato json como no exemplo:
{ "sms": "Digite seu texto aqui" }
Assim a aplicação recebe uma string numérica convertendo para texto ('833777783303_33063377772' para 'teste de mesa') ou o contrário ('teste de mesa' para '833777783303_33063377772').
Esta versão não trata caracteres especiais como ç, letras acentuadas ou símbolos.
- /listSms - Lista todas as mensagens convertidas até o momento apresentando até 10 resultados por página. O valor padrão de página é 1, então pode ser omitido, mas para alternar entre elas é preciso passar o argumento por query param na url.
localhost:3000/listSms?page=2
Também é possível filtrar os resultados por data de entrada, para isso uma data no formato '2020-07-23' precisa ser enviada como query param em conjunto com a página na url.
localhost:3000/listSms?page=2&date=2020-07-23'
Para executar os testes implementados é preciso ter o NodeJs instalado localmente assim como o MongoDB em container Docker.
Em primeiro lugar deve-se executar o comando:
$ yarn install
Ou 'npm install' dependendo do gerenciador de pacotes.
A aplicação já disponibiliza um container mongo (fica disponível após executar 'docker-compose up' pela primeira vez) que pode ser utilizado para os testes, nesse caso será preciso executar 'docker start mongo' antes e depois o comando de testes apropriado, como exemplo, este projeto utilizou o Yarn como gerenciador de pacotes, então o comando é esse:
$ yarn test