apabsp / Checkpoint

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Plataforma de Review de Jogos

checkpoint

Esse projeto foi desenvolvido como parte da disciplina de Fundamentos de Desenvolvimento de Software.

O CheckPoint tem como objetivo fornecer uma plataforma para que os usuários possam compartilhar, salvar, descobrir e escrever avaliações de jogos.

Seu guia completo para avaliar e descobrir jogos!

O que é?

  • Avalie e comente jogos
  • Organize sua biblioteca
  • Descubra novos jogos
  • Conecte-se com a comunidade

Histórias:

  1. Eu, como usuário típico gostaria de editar meu perfil.
  2. Eu como usuário típico gostariar de avaliar (0-5 estrelas) os jogos disponíveis.
  3. Eu como usuário típico gostaria de favoritar jogos para que apareçam em meu perfil.
  4. Eu como usuário típico gostariar de fazer uma review (comentada).
  5. Eu como usuário típico gostariar de apagar uma review já criada.
  6. Eu como usuário típico gostariar de editar uma review já criada.
  7. Eu como usuário típico gostaria de poder visualizar a review de outro usuário.
  8. Eu como usuário típico gostaria de poder curtir a review de outro usuário.
  9. Eu como usuário típico gostaria de poder comentar a review de outro usuário.
  10. Eu como usuário típico gostaria de adicionar jogos a minha “lista de desejos” ou “wishlist”, para demonstrar meu interesse por aquele jogo.
  11. Eu como usuário típico gostaria de visualizar a wishlist de outros usuários.
  12. Eu como usuário típico gostaria de pesquisar por usuários.
  13. Eu como usuário típico gostaria visualizar o perfil de outros usuários.
  14. Eu como usuário típico gostaria de seguir outros usuários.
  15. Eu como usuário típico gostaria de ver uma aba com reviews recentes de pessoas seguidas.
  16. Eu como usuário típico gostaria de pesquisar por jogos específicos.
  17. Eu como usuário típico gostaria de curtir um jogo.

Sobre:

GGuardians é um grupo de jogadores, e alunos da faculdade CesarSchool, apaixonados por criar ferramentas que aprimoram a experiência de jogar.

Missão:

Criar um sistema de review de jogos que seja útil, engajador e inovador.

Processo

  1. Ideação: image-6 Sem título

    Tudo começa com um brainstorming.

    Reunimos a equipe para discutir ideias e soluções.

    Exploramos diferentes possibilidades e esboçamos os primeiros conceitos. Sign In Sign Up Home Search Screen Meu Perfil Lista de Amigos Perfil do Usuário 1 Perfil do Usuário 2 Configurações Página do Jogo Criar Review Visualizar Review Comentar Review

Método utilizado - pair programming

O projeto foi feito utilizando o pair-programming, com duplas randomizadas e alternadas a cada semana

Tecnologias Utilizadas

Este projeto foi desenvolvido utilizando as seguintes tecnologias:

Django

Rodando em ambiente local

Para rodar em ambiente local, siga os passos:

  1. Crie seu ambiente virtual python executando:

    Para o Windows:

    python -m venv venv

    Para o Linux:

    python3 -m venv venv
  2. Ative seu ambiente virtual:

    Para o Windows:

    • Antes, no powershell:

      Set-ExecutionPolicy Unrestricted -Scope CurrentUser
    .\venv\Scripts\activate

    Para o Linux:

    source venv/bin/activate
  3. Instale as dependências:

    pip install -r .\requirements.txt
  4. Rode o servidor localmente:

    Para o Windows:

    python manage.py runserver

    Para o Linux:

    python3 manage.py runserver

ENTREGAS

Entrega 1:

Entrega 1:

image


Entrega 2:

Entrega 2:

Instrução de Acesso

Acesso ao Site: https://checkpoint-fds.azurewebsites.net

Ao entrar no site, o usuário será solicitado a fazer login em sua conta (ou registrar-se caso ainda não possua uma). Após concluir este processo, o usuário terá acesso aos serviços da Checkpoint.

Link do ScreenCast do Uso do Sistema

Relato Programação em Par:

  • Clara e Heloísa: Realizamos pair programming para implementar um novo recurso de avaliação de parâmetro 5 estrelas.

    Resultado: A implementação, infelizmente, foi falha. Apesar das tentativas de ambas as participantes de implementar a história, acabamos criando mais bugs e issues dentro do código e preferimos não realizar o commit para não atrapalhar o andamento do projeto como um todo, entretanto, a nossa relação como uma equipe foi fortalecida, é como aquele velho ditado "Os erros são os degraus pelos quais subimos à sabedoria.".

    Conclusão: Pair programming fortaleceu nossa colaboração e confiança como equipe.

  • Larissa e João Pedro Maranhão: Realizamos o pair programming na tentativa de realizar a história da criação de uma wishlist.

    Resultado: Implementação falha. Depois de muita pesquisa e tentativas, deixamos a respectiva história de lado e, para ainda assim colaborarmos com a equipe, populamos nosso acervo de jogos para o nosso site, fizemos a logo da nossa plataforma e trabalhamos em conjunto com Clara para fazer o diagrama de atividades.

    Conclusão: O Pair Programming aumentou nossa determinação para continuar estudando e tentando, afim de colaborar com o grupo.

  • João Pedro Fontes e Antonio Paulo Barros: Realizamos pair programming para implementar a pesquisa por jogos na base de dados, curtir um jogo e fazer a criação de uma nova review para o jogo selecionado.

    Resultado: Após algumas pesquisas e tentativas iniciais de como poderiamos fazer essas novas features, fazendo os modelos do banco de dados e fazendo alterações no html, conseguimos implementar com sucesso essas histórias, retirando alguns bugs antes do commit como:

    • Retorno JSON errado após a criação da review;

    Além disso, resolvemos algumas issues no github após a criação da historia de curtir um jogo e pesquisa por um jogo, sendo elas:

    • Bug ao curtir um jogo: Era mostrado que o jogo não existia se fosse sua primeira ação de curtir um jogo.
    • Bug ao pesquisar um jogo: Era mostrado os jogos que batiam exatamente com o que foi pesquisado, pesquisando, inclusive, se o caracter era maiúsculo ou minúsculo.
    • Bug no redirecionamento de rotas: Bug que nao redirecionava para a página de login se o usuário não estivesse logado e tentasse acessar a rota privada.

    Conclusão: O pair programming serviu para aprendermos mais sobre a implementação das novas features do projeto Checkpoint, além do trabalho em equipe.


Print do quadro da sprint 1 no Jira:

Sprint 1

Backblog sprint 1

Backlog

Diagrama de Atividades

Diagrama Checkpoint drawio(1)

Bug Tracker image image


Entrega 3:

Entrega 3:

Screencasts

Link do Screencast do LoFi

Link do Screencast do build e deploy com os testes

Link do Screencast do Sistema

Link do Screencast dos testes


Jira

image image


Diagrama de Atividades

Diagrama Checkpoint drawio


Bug Tracker

imageCaptura de tela 2024-05-05 201220 imageCaptura de tela 2024-05-05 200951


Novas telas do Lo-fi

Página do Jogo Criar Review Review Postada Editar Review Visualizar Review Comentar Review


Relatos de Pair Programming

Antonio e Heloísa: Durante nossas sessões recentes de pair programming, focamos em três tarefas principais: implementar a história de deletar uma review, realizar melhorias no front-end e implementar testes utilizando Cypress.

Resultado: O desenvolvimento da funcionalidade de deletar reviews foi particularmente ágil, graças ao domínio de Django por ambos. Já as melhorias no front-end foram alcançadas com sucesso, após uma investigação detalhada e algumas iterações de design e usabilidade. Quanto aos testes em Cypress, após de pesquisa para melhor compreensão da ferramenta, conseguimos implementar os testes automatizados.

Conclusão: O pair programming serviu para aprendermos mais sobre Front-End em geral e sobre a ferramenta Cypress, além do trabalho em equipe.

Larissa e Clara: Durante nossas sessões recentes de pair programming, focamos também em três tarefas principais: pensar na nova atualização do diagrama, pesquisa de bugs e reimaginação do front-end da aplicação.

Resultado: Com sucesso, concluímos tudo o que tínhamos pensado. Organização do diagrama, que, antes estava incorreto, procura por bugs a fim de relatá-los no nosso bug tracker e colaboramos com mais ideias e testes de front-end.

João Pedro Fontes e João Pedro Maranhão: Durante nossas sessões de pair programming, trabalhamos juntos no desenvolvimento de duas funcionalidades principais para nossa plataforma: a edição de reviews e a implementação de um sistema de avaliação com estrelas para jogos. Nosso foco foi integrar essas funcionalidades de maneira eficaz, tanto no backend quanto no front-end, e garantir seu funcionamento.

Resultado: Conseguimos implementar com sucesso a funcionalidade de edição de reviews, permitindo aos usuários modificar suas avaliações de forma segura e intuitiva. O sistema de avaliação com estrelas também foi bem-sucedido, oferecendo uma interface agradável e fácil de usar. Os testes automatizados confirmaram a robustez das novas funcionalidades.

Conclusão: As sessões de pair programming foram extremamente benéficas, não só para o desenvolvimento técnico das funcionalidades, mas também para o aprendizado mútuo e aprimoramento das nossas habilidades. A experiência reforçou a importância da colaboração e da comunicação eficaz no sucesso do projeto.



Entrega 4:

Entrega 4:

Screencasts

Link do Screencast do LoFi

Link do Screencast do build e deploy com os testes

Link do Screencast do Sistema

Link do Screencast da Pipeline do Branch de Desenvolvimento com testes

Link do Screencast dos testes


Jira

Captura de tela 2024-06-03 173852 Captura de tela 2024-06-03 173952


Diagrama de Atividades

Sem título


Bug Tracker

Captura de tela 2024-06-03 172806 Captura de tela 2024-06-03 172830


Novas telas do Lo-fi

Editar Perfil


Relatos de Pair Programming

João Pedro Fontes e Heloísa Tanaka

Durante nossas sessões recentes de pair programming, focamos em implementar duas histórias importantes: editar perfil e adicionar à wish list, além de desenvolver testes utilizando Cypress.

Resultado

A implementação das funcionalidades de editar perfil e adicionar à wish list ocorreu de maneira fluida, beneficiando-se da nossa colaboração próxima e da compreensão compartilhada do projeto. Nos testes com Cypress, dedicamos tempo para compreender a ferramenta, resultando em testes automatizados eficazes.

Conclusão

O pair programming nos proporcionou uma oportunidade valiosa para aprimorar nossas habilidades técnicas, especialmente em relação ao desenvolvimento web e ao uso de ferramentas de teste como o Cypress. Além disso, fortaleceu nossa capacidade de trabalhar em equipe e colaborar de maneira eficaz.

João Pedro Maranhão e Larissa Sobrinho

Durante nossas sessões recentes de pair programming, concentramo-nos em aprimorar o front-end e realizar melhorias no restante do projeto, incluindo os slides e outras áreas.

Resultado

O processo de atualização do front-end e das demais partes do projeto foi conduzido de forma colaborativa e eficiente. Através de iterações cuidadosas, conseguimos melhorar a aparência e a usabilidade do projeto de forma significativa.

Conclusão

O pair programming destacou a importância da comunicação e da colaboração em equipe para alcançar resultados de alta qualidade. Aprendemos muito sobre design de interface e desenvolvimento front-end, o que nos permitirá enfrentar desafios futuros com mais confiança.

Antônio Paulo e Clara Machado

Durante nossas sessões recentes de pair programming, nos concentramos na implementação da funcionalidade de curtir reviews e na criação de testes automatizados utilizando Cypress.

Resultado

A implementação da funcionalidade de curtir reviews foi ágil, graças à nossa compreensão sólida da arquitetura do projeto. Além disso, dedicamos tempo para explorar os testes automatizados com Cypress, garantindo a qualidade e confiabilidade do código.

Conclusão

O pair programming demonstrou ser uma abordagem eficaz para acelerar o desenvolvimento e garantir a qualidade do código. Aprendemos não apenas sobre as funcionalidades específicas do projeto, mas também sobre as melhores práticas de teste, o que beneficiará nosso trabalho futuro.


Apresentação Apresentação

Contribuidores 👨‍👩‍👧‍👦


License

MIT

About

License:MIT License


Languages

Language:Python 50.9%Language:HTML 27.9%Language:CSS 13.3%Language:JavaScript 7.9%