-
JavaScritp
-
Node
-
NPM
-
VSCode
-
Linux
-
....
[dotenv] [mongoose] [Express] [Nodemon] [cookie-parser]
-
Arquivo
seeds/import.js
Conecta com o banco de dados [connecToDB] Recebe e trata erros de dados
Lê arquivo
.json
que contém os jogos [readGamesFromFile]
[x] Configuração do Banco de dados MongoDB no arquivo [seeds/import.js
]
[x] Configuração do Banco de dados MongoDB no arquivo [models/index.js
]
[] Iniciar Servidor com o {express}
- `.env`
......
......
Express
yarn add express
yarn add express
yarn add @types/express
types/express
npm install typescript -D
yarn ts-node-dev -D
yarn init -y - Inicar projeto
yarn add express - Micro FremWork para criação de | Rotas | Servidor | FramWorks
- Conexão com o banco de dados
- Query Builders
- Criação de Models
- ORM Config - Configurações do Banco de dados
- Exporta o arquivo de banco de dados
- Configuração de Conexão
- Caminho do banco de dados
npm install sqlite3 --save
yarn add typeorm reflect-metadata
- Script do package.json -- "typeorm": "ts-node-dev node_modules/typeorm/cli.js"
-
Configuração para criação no diretório padrão
migrations
-
script para criação das migrations -- yarn typeorm migrations:create -n CreateUsers
-
Rodar a migratio
- yarn typeorm migration:run
- Desfazer migration
- yarn typeorm migration:revert
- Configuração da controller
UserController
- Configuração da Tipagem do typeScript
- Configuração da rotas
- Dividir os serviços das rotas
- Configuração da rotas
- Dividir os serviços das rotas
- [] Criar Repositório de Usuário
- Repositório de Usuários [ { UsersRepository.ts } ]
- Alteração do Controller para o Repositório Criado
- Criar Migration de Pesquisas (Survey)
- yarn typeorm migration:create -n CreateSurveys
- Executar Migration de Pesquisas (Survey)
- yarn typeorm migration:run
- Criar a Model de Pesquisas (Survey)
- `src/models/Survey.ts`
-
Implementar a models pesquisa de acordo com o a migration criada
-
Criar Controller de pesquisas (survey)
- `src/controllers/SurveyController.ts`
-
Implementar a Controller pesquisa para receber os métodos
-
Criar o Repositório de pesquisas (survey)
- `src/repositories/SurveyController.ts`
- Implementar o Repositório pesquisa (survey)
- Ferramente JEST
- yarn add @types/jest -d
```shell
- yarn add ts-jest -D
* [x] Iniciar o Jest
```shell
- yarn jest
Esse Comando inicia o arquivo jest.config.ts
- Configura o arquivo
jest.config.ts
- `bail: true,`
- `testEnvironment: "node"` (Desabilitar),
- `preset: "ts-jest"`
- `
* Configuração do testMAtch
testMatch: [
"**/__tests__/*test.ts/"
],
`
```shell
- yarn add supertest @types/supertest -D
Teste de Usuário
* Arquivo `User.test.ts`
* Arquivo `Survey.test.ts`
* Alteração no arquivo de banco de dados
* Criação do banco de dados de teste
* Excluir banco de dados de teste, após os restes realizados
` "posttest": "rm./src/database/database.test.sqlite"`
-
Criação da Migration de SurveysUser
-
Criação do Repositório SurveysUser
-
Criação do Controller de SurveysUser
-
Configurar Serviço de Email
-
Enviar Email
- Criar Migration de (SurveyUsers)
- yarn typeorm migration:create -n CreateSurveysUsers
- Executar Migration de SurveysUsers
- yarn typeorm migration:run
-
Implementar Migration de (SurveyUsers)
-
Criar a Model de SurveysUsers
- `src/models/SurveyUser.ts`
-
Implementar a models SurveyUser de acordo com o a migration criada
-
[] Criar Controller de SurveysUsers
- `src/controllers/SurveyController.ts`
-
Implementar a Controller pesquisa para receber os métodos
-
Criar o Repositório de SurveysUsers
- `src/repositories/SurveyController.ts`
- Implementar o Repositório SurveysUsers
- nodemailer
- Configurações na pasta
src/services/SendMailService.ts
- Implementação do Envio de Email
- Biblioteca nodemailer
- `yarn add nodemailer`
- Handlebars
- Configurações do template na pasta
src/views/emails
- Configurações do template de email na pasta
src/views/emails/npsMail.hbs
(*Obs - a extensãohbs permite que seja escrito html no arquivo
)
- Biblioteca handlebars
- `yarn add handlebars`
- Integrar o template handlebars com a API
- Configurar variável de Ambiente para comunicação da handlebars com a API
- Não Deixar que o mesmo usuário responda apenas uma pesquisa
[] Refatoração da controller SendMailController [] Criação de Controller de resposta ao usuário - Validações e alteração da nota. [] Criação da controller do calculo do NPS [] Validações
- Criação da controller de resposta de SurveysUser
src/controller/AnswerController.ts
- Criação da ROTA em
src/routes.ts/
- Criar Migration de (SurveyUsers)
- yarn typeorm migration:create -n CreateSurveysUsers