/futebol-club

Primary LanguageJavaScript

Futebol Club

Um placar de partidas de futebol, integrando frontend e backend, com cobertura de testes de integração e aplicado o uso do Docker.

Observações:

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.

Habilidades desenvolvidas no projeto

  • Realizar a dockerização dos apps, network, volume e compose;
  • Modelar dados com MySQL através do Sequelize;
  • Criar e associar tabelas usando models do sequelize;
  • Construir uma API REST com endpoints para consumir os models criados;
  • Fazer um CRUD utilizando ORM;

Antes de começar:

  • Utilize os scripts de apoio npm run compose:up / npm run compose:down, para facilitar a execução do seu compose.

Variáveis de ambiente

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:

Variáveis:

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

Chave JWT e criptografia de senhas:

⚠️ A biblioteca utilizada para criptografar a senha no banco de dados é a bcryptjs. ⚠️

Testes de cobertura

A construção de testes de cobertura no backend foi feita em TypeScript, utilizando mocha, chai e sinon, na pasta app/backend/src/tests/.

Dicas

  • 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