Eu desenvolvi os arquivos contigos em /app/backend/src
.
Todos arquivos exeto os citados acima foram desenvolvidos pela Trybe.
O TFC é um site informativo sobre partidas e classificações de futebol! ⚽.
No time de desenvolvimento do TFC, Meu squad ficou responsável por desenvolver uma API (utilizando o método TDD) e também integrar - através do docker-compose - as aplicações para que elas funcionem consumindo um banco de dados.
Nesse projeto, eu construi um back-end dockerizado utilizando modelagem de dados através do Sequelize. Desenvolvimento respeita regras de negócio providas no projeto e a API deve ser capaz de ser consumida por um **front-end** já provido nesse projeto.
Desafios:
-
Para adicionar uma partida é necessário ter um token, portanto a pessoa deverá estar logada para fazer as alterações. Teremos um relacionamento entre as tabelas teams e matches para fazer as atualizações das partidas.
-
O seu back-end deverá implementar regras de negócio para popular adequadamente a tabela disponível no front-end que será exibida para a pessoa usuária do sistema.
Front-end:
Desenvolvido usando: React, CSS3, HTML5, Javascript, ES6, React-Router, Context API, Docker
Back-end:
Desenvolvido usando: Typescript, Node.js, Express.js, Docker, JWT, mocha, chai, sinon, Sequelize ORM.
Adquiri essas habilidades ao desenvolver esse projeto:
-
A realização da dockerização dos apps, network, volume e compose;
-
A modelagem de dados com MySQL através do Sequelize;
-
A criação e associação de tabelas usando models do sequelize;
-
A construção de uma API REST com endpoints para consumir os models criados;
-
A construção de um CRUD com TypeScript, utilizando ORM;
. | Diagrama de ER |
---|---|
-
clone o projeto:
git clone git@github.com:Andreyrvs/30-Trybe-futebol-clube.git
Docker
cd 30-Trybe-futebol-clube npm run compose:up
#Produção npm run compose:up
# Dev mode npm run compose:up:dev
Backend
cd backend/ npm install
Frontend
cd frontend/ npm install
Na sua máquina você deve ter:
-
Sistema Operacional Distribuição Unix;
-
Node versão 16;
-
Docker;
-
Docker-compose versão >=1.29.2;
➡️ O node deve ter versão igual ou superior à 16.14.0 LTS:
Para instalar o nvm, acesse esse link; Rode os comandos abaixo para instalar a versão correta de node e usá-la: nvm install 16.14 --lts nvm use 16.14 nvm alias default 16.14
➡️ Odocker-compose deve ter versão igual ou superior à ˆ1.29.2:
Use esse link de referência para realizar a instalação corretamente no ubuntu; Acesse o link da documentação oficial com passos para desinstalar caso necessário.
⚙️ Variáveis de ambiente
No diretório app/backend/ renomeie o arquivo .env.example para .env e configure os valores de acordo com o cenário do seu ambiente (credenciais de banco de dados, secrets desejadas e etc).
-
Para rodar o banco de dados:
cd app/backend npm run build
-
Para rodar o back-end:
cd app/backend/ && npm start
-
Para rodar o front-end:
cd app/frontend/ && npm start
-
Para rodar todos os testes:
npm run test:coverage