Trybe Futebol Clube é um website de partidas e classificações de futebol, onde é possível buscar, cadastrar e editar partidas e verificar as classificações geral, como mandante e como visitante de cada time.
Neste projeto, foi construído uma API com as regras de negócio da aplicação e que é consumida pelo Front-End provido pela Trybe. Além disso, a aplicação está dockerizada e o código foi desenvolvido utilizando o método de Desenvolvimento Orientado a Testes, ou TDD (Test Driven Development).
O Back-End foi desenvolvido em Node.js com TypeScript, utilizando o framework Express, o banco de dados MySQL e o Object-Relational Mapper (ORM) Sequelize. Além disso, a autenticação do usuário é realizada através de JSON Web Tokens (JWT), que são fornecidos ao realizar o login, e a senha do usuário é criptografada usando bcrypt.
Nos testes de integração, foram utilizados Mocha, Chai e Sinon.
Esse projeto utiliza variáveis de ambiente. Renomeie o arquivo .env.example para .env e altere os valores de acordo com suas próprias configurações.
-
Clonando o projeto
git clone [email protected]:marllomartin/trybe-futebol-clube.git cd trybe-futebol-clube cd app
-
Inicializa o docker
docker-compose up --build
-
Instalando as dependencias do Front-end
cd frontend npm install -
Instalando as dependencias do Back-end
cd frontend npm install -
Inicializa e popula o banco de dados
npx sequelize db:create && npx sequelize db:seed:all -
Inicializa o servidor dentro da pasta
backend:npm run dev
-
Inicializa o front dentro da pasta `frontend``
npm start
-
Planejamento de um CRUD com Node.js e TypeScript;
-
Utilização do paradigma de Programação Orientada a Objetos ;
-
Desenvolvimento TDD (Test Driven Development);
-
Processos de autenticação de JWT;
-
Organização de Dockerfiles;
-
Orquestração de containers com o Docker Compose;
Em um novo terminal, aninda dentro da pasta app execute
docker compose exec backend npm testVerificando a cobertura de código, execute:
docker compose exec backend npm run test:coveragePara rodar os testes, rode o seguinte comando
npm run test