Começamos fazendo o login: A validação é feita usando jwt e bcrypt para criptografar a senha ao enviá-la para o banco de dados. Em seguida, somos capazes de pesquisar jogos, equipes e classificações. Como administrador, também temos permissão para atualizar e criar dados.
React e RTL (nenhum codigo do front end foi desenvolvido por mim e sim pela equipe da Trybe, desenvolvir apenas o back-end do projeto)
TypeScript, Node.js, Docker, Express, MySQL, Sequelize, JWT, bcrypt e Mocha/Chai
task | status |
---|---|
1 - Desenvolva em /app/backend/src/database nas pastas correspondentes, uma migration e um model para a tabela de users | ✔️ |
2 - Desenvolva testes que cubram no mínimo 5 por cento dos arquivo backend em /src com um mínimo de 7 linhas cobertas | ✔️ |
3 - Desenvolva o endpoint /login no backend de maneira ele permita o acesso com dados válidos no frontend | ✔️ |
4 - Desenvolva testes que cubram no mínimo 10 por cento dos arquivo backend em /src com um mínimo de 19 linhas cobertas | ✔️ |
5 - Desenvolva o endpoint /login no backend de maneira ele não permita o acesso sem informar um email no frontend | ✔️ |
6 - Desenvolva testes que cubram no mínimo 10 por cento dos arquivo backend em /src com um mínimo de 19 linhas cobertas | ✔️ |
7 - Desenvolva o endpoint /login no backend de maneira ele não permita o acesso sem informar uma senha no frontend | ✔️ |
8 - Desenvolva testes que cubram no mínimo 20 por cento dos arquivo backend em /src com um mínimo de 35 linhas cobertas | ✔️ |
9 - Desenvolva o endpoint /login no backend de maneira ele não permita o acesso com um email inválido no frontend | ✔️ |
10 - Desenvolva testes que cubram no mínimo 30 por cento dos arquivo backend em /src com um mínimo de 45 linhas cobertas | ✔️ |
11 - Desenvolva o endpoint /login no backend de maneira ele não permita o acesso com uma senha inválida no frontend | ✔️ |
12 - Desenvolva o endpoint /login/validate no backend de maneira ele retorne os dados corretamente no frontend | ✔️ |
13 - Desenvolva testes que cubram no mínimo 45 por cento dos arquivo backend em /src com um mínimo de 70 linhas cobertas | ✔️ |
14 - Desenvolva em /app/backend/src/database nas pastas correspondentes, uma migration e um model para a tabela de teams | ✔️ |
15 - Desenvolva o endpoint /teams no backend de forma que ele possa retornar todos os times corretamente | ✔️ |
16 - Desenvolva o endpoint /teams/:id no backend de forma que ele possa retornar dados de um time específico | ✔️ |
17 - Desenvolva testes que cubram no mínimo 60 por cento dos arquivo backend em /src com um mínimo de 80 linhas cobertas | ✔️ |
18 - Desenvolva em /app/backend/src/database nas pastas correspondentes, uma migration e um model para a tabela de matches | ✔️ |
19 - Desenvolva o endpoint /matches de forma que os dados apareçam corretamente na tela de partidas no frontend | ✔️ |
20 - Desenvolva o endpoint /matches de forma que seja possível filtrar as partidas em andamento na tela de partidas do frontend | ✔️ |
21 - Desenvolva o endpoint /matches de forma que seja possível filtrar as partidas finalizadas na tela de partidas do frontend | ✔️ |
22 - Desenvolva testes que cubram no mínimo 80 por cento dos arquivo backend em /src com um mínimo de 100 linhas cobertas | ✔️ |
23 - Desenvolva o endpoint /matches de modo que seja possível salvar uma partida com o status de inProgress como true no banco de dados | ✔️ |
24 - Desenvolva o endpoint /matches/:id/finish de modo que seja possível alterar o status inProgress de uma partida para false no banco de dados |
✔️ |
25 - Desenvolva o endpoint /matches de forma que não seja possível inserir uma partida com times iguais | ✔️ |
26 - Desenvolva o endpoint /matches de forma que não seja possível inserir uma partida com time que não existe na tabela teams | ✔️ |
27 - Desenvolva o endpoint /matches de forma que não seja possível inserir uma partida sem um token válido | ✔️ |
28 - Desenvolva o endpoint /matches de forma que seja possível atualizar partidas em andamento | ✔️ |
29 - Desenvolva o endpoint /leaderboard/home de forma que seja possível filtrar a classificações dos times quando mandantes na tela de classificação do frontend com os dados iniciais do banco de dados | ✔️ |
30 - Desenvolva o endpoint /leaderboard/home de forma que seja possível filtrar a classificações dos times quando mandantes na tela de classificação do frontend e ao inserir a partida Corinthians 2 X 1 Internacional a tabela será atualizada | ✔️ |
31 - Desenvolva o endpoint /leaderboard/away de forma que seja possível filtrar as classificações dos times quando visitantes na tela de classificação do frontend com os dados iniciais do banco de dados | ✔️ |
32 - Desenvolva o endpoint /leaderboard/away de forma que seja possível filtrar a classificações dos times quando visitantes na tela de classificação do frontend e ao inserir a partida Corinthians 2 X 1 Internacional a tabela será atualizada | ✔️ |
33 - Desenvolva o endpoint /leaderboard de forma que seja possível filtrar a classificação geral dos times na tela de classificação do frontend com os dados iniciais do banco de dados | ✔️ |
34 - Desenvolva o endpoint /leaderboard de forma que seja possível filtrar a classificação geral dos times na tela de classificação do frontend e ao inserir a partida Flamengo 3 X 0 Napoli-SC a tabela será atualizada | ✔️ |
35 - Desenvolva o endpoint /leaderboard de forma que seja possível filtrar a classificação geral dos times na tela de classificação do frontend e ao inserir a partida Minas Brasília 1 X 0 Ferroviária a tabela será atualizada | ✔️ |