Este projeto contém os requisitos realizados por Anna Beatriz Garcia Trajano de Sá enquanto estudava na Trybe 🚀
O TFC é um site informativo sobre partidas e classificações de futebol!
Nesse projeto, desenvolvi um back-end dockerizado utilizando modelagem de dados através do Sequelize.
O desenvolvimento respeitou as regras de negócio providas no projeto e a API contruída foi capaz de consumir um front-end estruturado anteriormente.
Para adicionar uma partida é necessário ter um token, portanto a pessoa deverá estar logada para fazer as alterações.
Existe um relacionamento entre as tabelas teams e matches para fazer as atualizações das partidas. O diagrama relacional pode ser visualizado a seguir.
Diagrama de Entidade-Relacionamento - TFC |
---|
Login Page |
---|
Matches Page | Matches Page |
---|---|
Leaderboard Page |
---|
Após cada um dos passos, haverá um exemplo do comando a ser digitado para fazer o que está sendo pedido, caso tenha dificuldades e o exemplo não seja suficiente, não hesite em me contatar em annagarcia@id.uff.br
- Abra o terminal e crie um diretório no local de sua preferência com o comando mkdir:
mkdir projetos
- Entre no diretório que acabou de criar e depois clone o projeto:
cd projetos
git clone git@github.com:annabia95/project-trybe-futebol-clube.git
- Acesse o diretório do projeto e depois utilize o comando npm i para instalar todas as dependências necessárias:
cd project-trybe-futebol-clube
npm i
- ✨ Dica: Caso queira utilizar Docker para rodar os testes localmente e validar as funcionalidades, basta seguir as seguintes instruções:
1.26.0
por 1.29.2
.
ℹ️ Rode os serviços
node
edb
com o comandodocker-compose up -d
.
- Lembre-se de parar o
mysql
se estiver usando localmente na porta padrão (3306
), ou adapte, caso queria fazer uso da aplicação em containers; - Esses serviços irão inicializar os containers do banco de dados (MySQL), do backend e frontend.
ℹ️ Instale as dependências [Caso existam] com
npm install
-
⚠️ Atenção: Caso opte por utilizar o Docker, TODOS os comandos disponíveis nopackage.json
(npm start, npm test, npm run dev, ...) devem ser executados DENTRO do container, ou seja, no terminal que aparece após a execução do comandodocker exec
citado acima. -
⚠️ Atenção: O git dentro do container não vem configurado com suas credenciais. Ou faça os commits fora do container, ou configure as suas credenciais do git dentro do container. -
⚠️ Atenção: Não rode o comando npm audit fix! Ele atualiza várias dependências do projeto, e essa atualização gera conflitos com o avaliador.
Neste projeto, desenvolvi as seguintes habilidades:
- 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;
- Construir um CRUD com TypeScript, utilizando ORM;
- Validar e autenticar as requisições do usuário, utilizando middlewares de manipulação de erros e JWT;
- Aplicar a metodolodia TDD (Test Driven Development), utilizando Mocha, Chai e Sinon.
Documentação Oficial - Sequelize
Documentação Oficial - TypeScript
Documentação Oficial - Express
Documentação Express - Rotas
Chai Assertion Library
Stubs - Sinon.JS
Mocha
JWT
Conventional Commits