Projeto desenvolvido por estudante durante o curso de desenvolvimento back-end da Trybe
Projeto com desenvolvimento de uma aplicação back-end capaz de se ligar à aplicação front-end, e fornecer os dados necessários para o seu correcto funcionamento.
Todo o código que foi escrito por mim está dentro da pasta backend, a aplicação front-end foi fornecida pela Trybe.
- Typescript
- Node.js
- Express
- Sequelize
- Jest
- Mocha
- Sinon
- Chai
- Joi
- jsonwebtoken
- dotenv
- POO - SOLID
O TFC
é um site informativo sobre partidas e classificações de futebol! ⚽️
Projeto que criar jogos de futebol, onde é possível editar os time que se enfrentam e também os resultados dos jogos, e todos jogos gerados são contabilizados em uma tabela de classificação, que organiza a classificação conforme regra de negócio estabelecida. Para adicionar uma partida é necessário que a pessoa esteja logada para fazer as alterações, e as validações do login são feitas com um token gerado pelo JWT.
Esta aplicação desenvolveu uma API (utilizando o método TDD
) e também integra - através do docker-compose - as aplicações para que elas funcionem consumindo um banco de dados, e foi construído um back-end dockerizado utilizando modelagem de dados através do Sequelize, nonde a API é capaz de ser consumida por um front-end fornecido pela Trybe para este projeto.
Esta aplicação foi desenvolvida utilizando o Node.js, o framework Express.js e o Typescript, buscando seguir os princípios do desenvolvimento orientado a testes.
Para realizar os testes de integração foram utilizados os frameworks Jest, Mocha.js, Sinon.js e a biblioteca Chai. Senhas e informações confidenciais foram salvas no banco de dados e as rotas foram validadas por meio do JWT. Este projeto foi desenvolvido seguindo os princípios SOLID, sempre com o objetivo de construir um código limpo e legível.
-
Instale as aplicações na pasta raiz com:
npm install
-
Crie um arquivo .env (conforme exemplo em
app/backend/.env.example
) -
Execute o docker compose com o comando:
npm run compose:up:dev
-
Para reiniciar seus containers execute o comando:
npm run compose:down:dev
-
Se você precisar redefinir o banco de dados, execute o comando:
npm run db:reset
-
Testes
-
Para executar os testes, acesse o terminal dentro da pasta
app/backend
, e tenha os containers docker rodando. -
Após verificar esses itens, execute o comando:
npm test
-
Para rodar testes de cobertura utilize o comando:
npm run test:coverage
-
Acesse http://localhost:3000, com todos os containers rodando.
Para fazer o login, use seguintes credenciais:
login: admin@admin.com
password: secret_admin