About β’ Features β’ How it works β’ Tech Stack β’ Documentation β’ Authors β’ License
API Restful for Net Promoter Score created at RocketSeat Next Level Week 4.0, using stack TypeScript with Node.js.
- Create User
- Create Survey
- View list surveys
- Send Mail
- Calculate NPS
The following tools were used in the construction of the project:
- Node.js
- Express
- TypeORM
- Sqlite3
- Metadata Reflection API
- uuid
- Handlebars
- Nodemailer
- Yup
- ExpressJS Async Errors
Tools used for testing:
Before you begin, you will need to have the following tools installed on your machine: Git, Node.js and Yarn. In addition, it is good to have an editor to work with the code like VSCode.
# Clone this repository
$ git clone https://github.com/BiaChacon/nps.git
# Access the project folder cmd/terminal
$ cd nps
# go to the api folder
$ cd api
# install the dependencies
$ npm install
#Create migrations
$ yarn typeorm migration:run
# Run the application
$ yarn dev
# The server will start at port: 3333 - go to http://localhost:3333
# Running the tests
$ yarn test
Surveys
- Body
{
"name": "Name User",
"email": "example@email.com"
}
[
{
"id": "f34635eb-a4c4-4698-94af-19bdd923a003",
"title": "Queremos ouvir sua opiniΓ£o!",
"description": "De 0 a 10, quanto vocΓͺ recomendaria a Empresa?",
"created_at": "2021-02-26T13:35:34.000Z"
}
]
{
"id": "feecb0ce-c336-462c-a05e-ac9a0c9f1049",
"title": "Queremos ouvir sua opiniΓ£o!",
"description": "De 0 a 10, quanto vocΓͺ recomendaria a Empresa X?",
"created_at": "2021-02-27T15:07:13.000Z"
}
Users
- Body
{
"name": "Name User",
"email": "example@email.com"
}
{
"id": "413ecd5c-7932-41b1-b4d2-06c976303450",
"name": "Name User",
"email": "example@email.com",
"created_at": "2021-02-27T15:06:33.000Z"
}
SendMail
- Body
{
"email": "example@email.com",
"survey_id": "f34635eb-a4c4-4698-94af-19bdd923a003"
}
{
"id": "36408f2d-ee50-4456-a07b-101e695b794a",
"user_id": "413ecd5c-7932-41b1-b4d2-06c976303450",
"survey_id": "f34635eb-a4c4-4698-94af-19bdd923a003",
"created_at": "2021-02-27T15:08:07.000Z"
}
NPS
{
"detractor": 1,
"promoters": 2,
"passive": 0,
"totalAnswers": 3,
"nps": 33.33
}
Bia Chacon π» |
This project is under MIT. See at here LICENSE for more information.