Wiki Grupo 07 INF329 2024
INF329g07






Membros:
Google Meet (https://meet.google.com/vdt-aaiu-kdx)
KabanFlow (https://kanbanflow.com/board/4einBgC)
GitHub (https://github.com/gcesario203/Bookmarket-grupo07)
Jenkins (https://inf300.ic.unicamp.br/INF329/job/BookMarketCore07/)
ISSUES
Sempre criar o card no board antes de começar a desenvolver!

Exemplo de template
[Hash] Action - Summary
Description:
Descrição da Task:
Subtasks (se houver):
Definition of Done (DoD):
Test instructions (se houver):
Todo cartão precisa ter um responsável, se não for delegar para alguém quem criou é o responsável
Campo de Resolution Description: Após feito deve ter o link para o PR e/ou outros links externos
Em caso de feature é recomendado adicionar um campo de Test Instructions no cartão para que o revisor consiga testar a feature criada
O hash pode ser obtido clicando em url e pegando a última parte do link
O cartão de exemplo foi criado para facilitar esse processo, podendo assim copiar ele e alterar os dados!
Padrões de Cores
DOC - Roxo 🟣
FEAT - Verde 🟢
REFACTOR - Amarelo 🟡
REMOVE - Laranja 🟠
SPIKE - Azul 🔵
BUG - Vermelho 🔴
WORFLOW
Desenvolvimento
- Arrastar o card da coluna Do Sprint para In progress
- Dar pull na branch development
- Criar um branch cujo o nome seja o hash do cartão + nome legível da task que está trabalhando
- Fazer alterações e commitar ( o commit não deve conter muitas linhas e deverá conter uma mensagem descritiva do que foi realizado. Procure fazer vários commits. Não use git add .
- pense em quem vai revisar essa macarronada que vc vai subir)
- Ao concluir abra um PR para branch development
- Anexe o link do PR e outros links caso existam no campo Resolution Description do cartão
- Mova o cartão para coluna waiting review
Revisão de atividades
- Mova o cartão para a coluna in Review
- Revise carinhosamente todo o código modificado
- Certifique-se de que o DoD está sendo cumprido
- Certifique-se de que não quebrou o código, teste as funções principais do sistema com asas alterações, ainda que não tenha feito alterações nelas diretamente
- Certifique-se de que o campo Resolution Description esteja preenchido
- Aceite o PR para branch development
- Acompanhe a execução dos testes na pipeline
- Em caso positivo, mova o cartão para Done, caso negativo, volte o cartão para Do sprint
Clean Code e metodologia ágil sempre!
Registro sobre as Sprints
Um adendo sobre as Sprints do grupo 7 é que optamos por fazer em janelas de tempo menores, basicamente uma semana para cada.
[SPRINT 1]
- Fizemos as primeiras adaptações da wiki no Moodle. Também fizemos uma revisão dos requisitos do projeto assíncrona com base no PDF. Por fim, montamos o Kanban com um card template.
- Criamos e estimamos nossos primeiros cards. Tomamos a decisão de como ficaria nossos repositórios locais e remotos, e também seus respectivos ambientes (dev, master, etc). Fizemos aprimoramentos na documentação da Wiki e primeiros cards relacionados ao código em si, que basicamente foram relacionados a refatoração, para melhor entendimento do time.
PR da DEV para MAIN: https://github.com/gcesario203/Bookmarket-grupo07/pull/14
[SPRINT 2]
- Ambiente de CI/CD no GitHub ficou completo, fizemos uma reavaliação dos requisitos do sistema por conta de dúvidas que surgiram e fizemos alguns testes que faltavam sua implementação.
- Melhoramento da Wiki adicionando informações das sprints e criações de métodos relacionados a BookStore e BookMarket, métodos de retorno de BestSellers, método de recomendação por itens e um teste de recomendação por usuário.
- Planning para quebra de cards dos métodos mais importantes de recomendação: getRecommendationByUser e ByItem.
PR da DEV para MAIN: https://github.com/gcesario203/Bookmarket-grupo07/pull/19
[SPRINT 3]
- Continuamos a fazer mais tasks de testes, relacionados ao BookStore e refatorações que serão importantes para fazer os métodos de recomendações.
- Também viemos trazer atualizações sobre as Sprints aqui na Wiki para manter atualizado sobre o que anda acontecendo durante cada semana.
- Implementação de GetBookPriceAverage e GetMinimumBookPrice para cálculo de preços de livros.
- Refatoração do método updateRelatedBooks no serviço BookStore.
- Adição de escopo de tipificação para Cliente.
- Implementação da ligação entre Customer, Cart e BookStore.
PR da DEV para MAIN: https://github.com/gcesario203/Bookmarket-grupo07/pull/29
[SPRINT 4]
- Fizemos a adição do GitInspector ao nosso projeto.
- Adição das imagens dos bagdes de tecnologias usadas que estão no GitHub aqui na Wiki.
- Implementação dos métodos getRecommendationByItens e getRecommendationByUsers
PR da DEV para MAIN: https://github.com/gcesario203/Bookmarket-grupo07/pull/33
[SPRINT 5]
- Criação do método getRecommendation no bookmarket e seus testes.
- refatoração dos métodos getRecommendationByItens e getRecommendationByUsers para seguir a arquitetura de actions do statemachine
- Criação dos testes unitários de getRecommendationByItens e getRecommendationByUsers na bookstore e no bookmarket
- Melhorias de qualiade nos testes unitários, utilizando-se de estrátegias de "viciar os dados".
Uma consideração importante é que apenas nessa sprint percebemos que ao popular o todo com uma seed conhecida, os dados seriam sempre dispostos de maneira igual, valendo-se disso conseguimos criar diversos cenário controlados para nossos testes
PR da DEV para MAIN: https://github.com/gcesario203/Bookmarket-grupo07/pull/48
[FIX]
- Correção de alguns testes
- Roteiro de apresentação
PR da DEV para MAIN: https://github.com/gcesario203/Bookmarket-grupo07/pull/50