Este app consiste em um sistema de chaveamento esportivo.
Cada time armazena seu respectivo lado (oeste ou leste), o número ordinário referente ao lado (e.g.: 1º time do oeste, 2º time do leste etc.), o link da logotipo do time (o qual é opcional), o nome do time e o número de vitórias do time. O app faz conexão com o banco de dados local e puxa todos os times cadastrados nele para a função criarChaveamento, que é invocada através do endpoint /criar-chaveamento/:qtd_times. Caso não haja nenhum time cadastrado no banco de dados, há a constante USAR_COLECAO_TIMES no controller das partidas. A constante pode ser usada para dispensar o banco de dados e utilizar em vez dele o arquivo times.json, com dezesseis times pré-definidos.
O endpoint /criar-chaveamento/:qtd_times recebe como argumento a quantidade de times da competição em questão. O número ordinário presente no modelo de dados dos times faz com que os primeiros times tenham preferência para competir em caso da quantidade de times informada for inferior a dezesseis. O código lança uma exceção caso seja informada uma quantidade de times superior ao número de times disponíveis e o número máximo de times é 255, como exemplificado no arquivo fases_sucessivas.json.
| Papel | Tecnologia |
|---|---|
| Ambiente de execução | Node |
| Linguagem de programação | JavaScript |
| Back-end | Express.js |
| Banco de dados | MongoDB |
- Computar um empate criando mais uma partida;
- Criar model e controllers para uma partida;
- Criar model e controllers para um jogo.