-
yarn init -v
-
yarn add express
-
yarn add @types/express -D
-
yarn add typescript -D
-
yarn tsc --init
-
setar variavel strict em tsconfic.json para false.
-
yarn add ts-node-dev -D
-
Em package.json colocar o seguinte código antes de "dependencies":
"scripts": {
"dev": "ts-node-dev src/server.ts"
},
- Rodar comando "yarn dev"
-
yarn add typeorm reflect-metadata sqlite3
-
Criar arquivo "ormconfig.json" na raíz e escrever o seguinte código para definir o tipo de BDD, ativar o uso de migrations e já importar as entidades:
{
"type": "sqlite",
"database": "./src/database/database.sqlite",
"migrations": ["./src/database/migrations/**.ts"],
"entities": ["./src/entities/**.ts"],
"cli": {
"migrationsDir": "./src/database/migrations"
}
}
- Criar uma subpasta em "src" chamada "database" e dentro dela criar um arquivo denominado "index.ts", nele, coloque o seguinte código:
import { createConnection } from "typeorm";
createConnection();
- Em "server.ts" fazer o import do "index.ts" da pasta "database" da seguinte forma:
import "./database";
- O uso de migrations já foi ativado, agora é preciso criar a subpasta "migrations" dentro de "database". Além disso, precisamos ativar o uso das migrations no "package.json" inserindo a seguinte linha dentro de "scripts" abaixo de "dev" (lembre de colocar a vírgula entre as linhas):
"typeorm": "ts-node-dev node_modules/typeorm/cli.js"
-
Para criar as migrations, basta usar o comando "yarn typeorm migration:create -n 'NomeMigration'".
-
Rode a o comando "yarn typeorm migration:run" para executar todas as migrations. Talvez seja necessário mudar a seguinte linha do tsconfig de "target": "e5" para "target": "es2015".
-
Habilitar no "tsconfig.ts" as opções:
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
- A responsabilidade de gerar o uuid é do projeto, dessa forma precisamos incluir a biblioteca uuid com o comando "yarn add uuid" e as tipagens com o comando "yarn add @types/uuid -D".
- Instalar o socket.io com o comando:
yarn add socket.io
- Instalar a tipagem do socket.io como dependência de desenvolvimento com o comando:
yarn add @types/socket.io -D
- Instalar engine ejs com o comando:
yarn add ejs
-
Refatorar todo o código utilizando clean code e princípios S.O.L.I.D.
-
Manter aberto as conversas do admin até que sejam finalizadas (status "em andamento" ou algo do tipo).
-
Criar login para administradores.
-
Criar login para usuários, afinal, o chat de atendimento pode conter informações sensíveis, como endereço, compras realizadas, etc.