Visão geral • Recursos • Começando • Executando a API • Banco de dados • Melhorias a implementar
API construída para reforçar os conhecimentos de back-end com Node.js durante o evento da NLW 4, promovida pela Rocketseat. Trata-se de uma aplicação responsável pela realização da pesquisa de satisfação do usuário via e-mail. A pesquisa utiliza o conceito de NPS (Net Promoter Score), as notas variam de 0 a 10, e o cálculo é feito da seguinte forma:
NPS = (nº de promotores - nº de detratores) / (nº de entrevistados) * 100
As notas devem seguir o seguinte critério:
- Notas detratores variam de 0 a 6
- Notas passivas variam entre 7 e 8
- Notas promotores variam entre 9 e 10
Considerando a fórmula, isso demonstra que usuários que dão nota 7 ou 8 não estão fazendo parte da pesquisa, isso é para evitar ruídos. Portanto, normalmente o cálculo leva em consideração ou com notas detratores ou com notas promotores, e o resultado final é dado em porcentagem.
- HTML
- CSS
- TypeScript
- NodeJs
- Express
- Handlebars (Template Engine)
- SQLite
- Jest (testes automatizados)
- Supertest (ferramenta de testes de integração)
- Nodemailer (biblioteca de envio de e-mails, utilizado em conjunto com SMTP da Ethereal)
- Insomnia (ferramenta para documentar as requisições realizadas pela API). Postman também serve.
- Beekeeper Studio (ferramenta de gerenciamento de banco de dados)
1 - Clone o repositório
git clone https://github.com/VictorMello1993/NLW-4.git
2 - Abra VS Code e acesse a pasta "api" como pasta raíz da aplicação
3 - Abra o terminal e instale todas as dependências do projeto
npm install
yarn
npm run dev
yarn dev
2 - Clique no botão abaixo para importar o workspace sugerido. Assim, poderá acessar todas as rotas da aplicação
Para visualizar todas as tabelas geradas pela aplicação, baixe o Beekeeper Studio, software de gerenciamento de banco de dados. Neste projeto utilizamos SQLite, então para abrir a conexão com o banco de dados, basta procurar pelo arquivo database.sqlite. Teste para verificar se a conexão ocorrerá com êxito, e então, clique em Connect. Pronto, a conexão já está aberta, e poderá realizar as consultas.
- Criar um serviço de login do usuário com autenticação e autorização com JWT (JSON Web Tokens)