NPS API é uma API criada utilizando NodeJS com Express e TypeScript durante a NLW#4 da Rocketseat. Esse projeto permite o calculo de NPS de uma empresa enviado por usuários via email.
Esse End-Point para calcular o NPS.
-
URL
/nps/:surveyId
-
Method:
GET
-
URL Params
-
Required:
:surveyId
-> ID do survey.
-
-
Success Response:
-
Code: 200
Content:{ "detractor": 1, "pasive": 0, "promoters": 2, "totalAnswers": 3, "nps": 33.33 }
-
Enviar email.
-
URL
/sendMail
-
Method:
POST
-
JSON Example:
{ "email": "[email protected]", "survey_id": "eeb3d144-df68-4f5c-8ae2-5d498a2db412" }
-
Success Response:
-
Code: 200
Content:{ "id": "13e43459-f251-499c-a5b5-1f18c5aac461", "user_id": "ada144d3-2164-40e6-b410-cb6f6f87c98d", "survey_id": "eeb3d144-df68-4f5c-8ae2-5d498a2db412", "created_at": "2021-02-28T00:36:15.000Z" }
-
Criando pesquisa.
-
URL
/surveys
-
Method:
POST
-
JSON Example:
{ "title": "Queromos ouvir sua opinião!", "description": "De 0 à 10, quanto você recomendaria a nossa empresa?" }
-
Success Response:
-
Code: 200
Content:{ "id": "eeb3d144-df68-4f5c-8ae2-5d498a2db412", "title": "Queromos ouvir sua opinião!", "description": "De 0 à 10, quanto você recomendaria o Henrique?", "created_at": "2021-02-25T16:31:06.000Z" }
-
Listar todas pesquisas criadas.
-
URL
/surveys
-
Method:
GET
-
Success Response:
-
Code: 200
Content:[ { "id": "eeb3d144-df68-4f5c-8ae2-5d498a2db412", "title": "Queromos ouvir sua opinião!", "description": "De 0 à 10, quanto você recomendaria a nossa empresa?", "created_at": "2021-02-25T16:31:06.000Z" } ]
-
Esse End-Point permite a criação de usuários.
-
URL
/users
-
Method:
POST
-
JSON Example:
{ "name": "Henrique Tavares", "email": "[email protected]" }
-
Success Response:
-
Code: 200
Content:{ "id": "3e837e85-90d2-4da0-8ce4-91e575d28c54", "name": "Henrique Tavares", "email": "[email protected]", "created_at": "2021-02-28T21:24:14.000Z" }
-
Este projeto foi feito utilizando as seguintes tecnologias:
- NodeJS
- Express
- TypeScript
- express-async-errors
- handlebars
- nodemailer
- reflect-metadata
- sqlite3
- uuid
- yup
- jest
- supertest
- ts-jest
- ts-node-dev
Passo 1:
# Clone o Repositório
$ [email protected]:tavareshenrique/nps-api-nlw.git
Passo 2:
# Baixe as dependências
yarn
Passo 3:
# Execute o projeto
yarn dev
Henrique Tavares @tavareshenrique 💻 |
Rocketseat @Rocketseat 🚀 |
Este projeto está sob a licença MIT.