Aqui você vai encontrar os detalhes de como foi minha experiência durante o desenvolvimento deste projeto, stacks utilizadas e uma breve documentação sobre como utilizar este projeto em pleno funcionamento.
Este projeto teve como objetivo a construção de uma API para gerenciar um site informativo sobre partidas e classificação de alguns time de futebol utilizando os principios da Programação Orientada a Objetos (POO). Neste projeto foi feito utilizando o banco de dados MySQL e a ROM do Sequelize para a comunicação e escrita no DB, também nesse projeto utilizei a prática TDD (Test Driven Development) junto com a arquitetura MSC (model, service, controller) para maior confiabilidade e escalabilidade do código. Os testes foram feitos utilizando as libes Chai, Mocha e Sinon e são de integração, ou seja, testam a integridade do sistema e se cada câmada do software cumpre sua responsabilidade. Também neste projeto foi utilizado o ESlint para deixar o código mais coeso e de fácil manutenção/alteração.
- TypeScript
- Node.js
- Chai
- Mocha
- Sinon
- Express.js
- MySQL
- Sequelize
- Docker
Para a execução deste propjeto é necessário ter o Docker e o Docker-Compose instalados na sua máquina. Portanto confira a documentação oficial para a instalação. Além do node na versão 16 ou superior.
Docker
Link para a documentação oficial
Docker-Compose
Link para a documentação oficial
- Clone o repositório (caso esteja usando chave SSH)
git clone git@github.com:Gabriel-Puttin/Trybe_Futebol_Clube.git
- Entre na pasta que você acabou de clonar
cd Trybe_Futebol_Clube/app
- instale as depedências
npm install
- Entre no diretório back-end da aplicação
cd backend/
- Execute o script que irá popular o banco de dados
npm run db:reset
- Retorne para o diretório raiz da aplicação
cd ../../
- Rode a aplicação
npm run compose:up
- Acesse a aplicação no navegador
https://localhost:3000/