O TFC é um site informativo sobre partidas e classificações de futebol!
Neste projeto desenvolvi a API em Node.js + Typescript
usando o pacote sequelize
e também fiz a integração - através do docker-compose - das aplicações para que funcionem consumindo um banco de dados.
Os principais pontos de desenvolvimento foram:
-
Realizar a dockerização dos apps, network, volume e compose;
-
Modelar dados com MySQL através do Sequelize;
-
Criar e associar tabelas usando
models
dosequelize
; -
Construir uma API REST com endpoints para consumir os models criados;
-
Aplicar os princípios
SOLID
; -
Fazer um
CRUD
utilizandoORM
;
- Clone o repositório
git clone https://git@github.com:RenataTeixeita/projeto-pessoal-TFC.git
.- Entre na pasta do repositório que você acabou de clonar:
cd projeto-pessoal-TFC
- Instale as dependências (é necessário rodar comando tanto no back end quanto no front end)
npm install
-
Utilize os scripts de apoio
npm run compose:up
/npm run compose:down
, para facilitar a execução do docker-compose (ao alterar qualquer coisa no código será necessário subir o docker novamente, para isso faça onpm run compose:down
e na seqquência onpm run compose:up
). -
Certifique-se que as portas 3000 e 3001 não estão sendo utilizadas. Na sequência (nesta ordem) no back end use o comando
npm start
, espere o banco carregar e rode o mesmo comando no front end em outro terminal. Assim você testa a aplicação.
Você irá precisar configurar as variáveis globais do MySQL. Você pode usar esse Conteúdo de variáveis de ambiente com NodeJS como referência.
Você precisará alterar o nome do arquivo .env.exemple
para .env
e configurá-lo com seus dados de usuário e senha do MySQL (siga as configurações abaixo).
PORT=3001
DB_USER=coloqueAquiSeuUser
DB_PASS=coloqueAquiSeuPassword
DB_HOST=localhost
DB_NAME=TRYBE_FUTEBOL_CLUBE
DB_PORT=3306
JWT
deve ser inserida em app/backend/jwt.evaluation.key
.
bcryptjs
bcryptjs npm.
⚠ O seu docker-compose precisa estar na versão 1.29 ou superior. Veja aqui a documentação para atualizar o docker-compose. ⚠