Um placar de partidas de futebol, integrando frontend e backend, com cobertura de testes de integração e aplicado o uso do Docker.
Este projeto foi feito como avaliação do meu aprendizado na Trybe. Os testes de integração são de minha autoria, também o funcionamento do backend, arquivos dockerfile e docker-compose. O layout e testes fora do diretório "/app/backend/src/tests" foram fornecidas pela Trybe.
- 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;
- Fazer um
CRUD
utilizandoORM
;
- Utilize os scripts de apoio
npm run compose:up
/npm run compose:down
, para facilitar a execução do seu compose.
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.
Faça essas configurações também para as variáveis de ambiente usadas nesses arquivo:
module.exports = {
username: process.env.DB_USER,
password: process.env.DB_PASS,
database: TRYBE_FUTEBOL_CLUBE,
host: process.env.DB_HOST,
port: process.env.DB_PORT,
dialect: 'mysql',
};
(Neste arquivo é obrigatório deixar o nome do database como "database": 'TRYBE_FUTEBOL_CLUBE'
)
É essencial usar essas 3 variáveis no arquivo acima:
host: process.env.DB_HOST
user: process.env.DB_USER
password: process.env.DB_PASS
Com elas que iremos conseguir conectar ao banco do avaliador automático
bcryptjs
.
A construção de testes de cobertura no backend foi feita em TypeScript, utilizando mocha
, chai
e sinon
, na pasta app/backend/src/tests/
.
- Você pode instalar suas aplicações (front e back) rodando o comando
npm run install:apps
; - Você pode subir ou descer uma aplicação do compose, utilizando os scripts
compose:up
,compose:down