Neste projeto foi realizada a construção de uma API rest com typescript, que permiti fazer o CRUD de usuarios, times e partidas. Para fazer o armazenamento das informação foi utilizado o sequelize juntamente com um container docker do mysql. Aqui você poderá acompanhar a classficação dos seus times prediletos , podendo optar por ver seu desempenho fora de casa (visitante), em casa (mandante) e geral (visitante e mandante), pode-se também ver partidas em andamento e finalizadas, podendo filtrar pela qual quiser!
Rodando com Docker 🐳
- O arquivo
docker-compose.yml
pode ser utilizado para executar a aplicação na sua máquina local, para isso é necessário executar o comandonpm run compose:up
na raiz do projeto.
Docs 📄
- Fazer login com a rota: /login (POST)
- Buscar times com a rota: /teams (GET)
- Buscar time pelo id com a rota: /teams/:id (GET)
- Buscar função com a rota: /login/role (GET)
- Buscar as partidas com a rota: /matches (GET)
- Finalizar uma partida com a rota: /matches/:id/finish (PATCH)
- Atualizar uma partida em andamento com a rota: /matches/:id (PATCH)
- Criar uma partida com a rota: /matches (POST)
- Buscar o ranking dos times de acordo com jogos em casa: /leaderboard/home (GET)
- Buscar o ranking dos times de acordo com jogos fora de casa: /leaderboard/away (GET)
- Buscar o ranking dos times de acordo com jogos em geral: /leaderboard (GET)
Tecnologias ultizadas 💻
- Typescript
- Express
- Sequelize
- Json web token (JWT)
- Docker
- Mocha
- Chai