Skip to content

igortorati/nlw5_node

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nlw5_node

Everything Is AWESOME

Instruções para construção do projeto (Dia 1):

  1. yarn init -v

  2. yarn add express

  3. yarn add @types/express -D

  4. yarn add typescript -D

  5. yarn tsc --init

  6. setar variavel strict em tsconfic.json para false.

  7. yarn add ts-node-dev -D

  8. Em package.json colocar o seguinte código antes de "dependencies":

"scripts": {

"dev": "ts-node-dev src/server.ts"

},
  1. Rodar comando "yarn dev"

Instruções para uso do TypeORM (Dia 2):

  1. yarn add typeorm reflect-metadata sqlite3

  2. 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"

}

}
  1. 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();
  1. Em "server.ts" fazer o import do "index.ts" da pasta "database" da seguinte forma:
import  "./database";
  1. 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"
  1. Para criar as migrations, basta usar o comando "yarn typeorm migration:create -n 'NomeMigration'".

  2. 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".

  3. Habilitar no "tsconfig.ts" as opções:

"experimentalDecorators": true,

"emitDecoratorMetadata": true,
  1. 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".

Instruções para criação do Websocket (Dia 4):

  1. Instalar o socket.io com o comando:
yarn  add  socket.io
  1. Instalar a tipagem do socket.io como dependência de desenvolvimento com o comando:
yarn  add @types/socket.io -D
  1. Instalar engine ejs com o comando:
yarn  add  ejs

Possíveis alterações futuras:

  1. Refatorar todo o código utilizando clean code e princípios S.O.L.I.D.

  2. Manter aberto as conversas do admin até que sejam finalizadas (status "em andamento" ou algo do tipo).

  3. Criar login para administradores.

  4. Criar login para usuários, afinal, o chat de atendimento pode conter informações sensíveis, como endereço, compras realizadas, etc.

About

Repositório para a NLW #05.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published