CITEI / Comunizika

An app to support teaching children with microcephaly due to the Zika virus disease
0 stars 0 forks source link

Deleção do modelo stages #36

Closed nickolasrm closed 1 year ago

nickolasrm commented 1 year ago

Descrição

Para que os proximos passos da mudança sejam realizados primeiro precisamos remover a camada stages do app. Remover os stages significa passar as activities para dentro do Module e mudar mudar todas as entidades e regras de negócio para se adequar a esse novo meio.

É importante ressaltar que a deleção do modelo stages vai fazer com que as atividades que antes eram segmentadas em estágios serem juntas em um grande estágio só (módulo). Por conta disso, embora a lógica de CAIXA -> CAIXA ALTERNATIVA -> CAIXA RANDOMICA, todas as caixas devem ser limitadas a um número K de atividades dentro de uma caixa. Isso também se deve ao fato de que as atividades serão uma amostragem de cada caixa, pois isso permitirá ter um embaralhamento das perguntas.

Exemplos de mudanças na prática

Novo usuário

Ao cadastrar um novo usuário atribuimos uma caixa dentro dele que está relacionada a uma stage. Seu registro ficará algo como isso

{
    "email": ...
    "progress": {
        "stage": x
        ...
    }
}

Agora essa collection deve mudar para:

{
    "email": ...
    "progress": {
        "module": x
        ...
    }
}

Aprovação

Considerando a lógica antiga do app, quando acontece uma aprovação, verificamos se há um proximo stage, se houver mudamos para ele. Caso contrário, vemos se tem um novo módulo, e então atribuimos ao primeiro stage desse modulo.

Ainda considerando a logica antiga, a remoção do stage representa apenas verificar se há um proximo modulo, e caso contrário chega-se ao fim do app.

Critério de sucesso

nickolasrm commented 1 year ago

Este número K de atividades precisa ser definido com as pesquisadoras por mim @nickolasrm