Giter VIP home page Giter VIP logo

tercioab / tfc-project-poo Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 971 KB

API RESTful que se conecte a um banco de dados mySQL via Sequelize para ler, criar, filtrar, atualizar os dados, entre outros. As seguintes rotas foram criadas: login, partidas, equipes e líder de placar.

Dockerfile 0.25% JavaScript 48.03% TypeScript 35.38% Shell 1.68% HTML 1.54% CSS 13.13%
poo solid nodejs typescript docker

tfc-project-poo's Introduction

Resultado Final

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.

capa
capa

Tecnologias utilizadas:

Front-end:

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)

Back-end:

TypeScript, Node.js, Docker, Express, MySQL, Sequelize, JWT, bcrypt e Mocha/Chai

Tasks desenvolvidas:

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 ✔️

tfc-project-poo's People

Contributors

tercioab avatar trybe-tech-ops avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.