fccoelho / Curso_Blockchain

Indtroductory course to cryptocurrencies and applications of Blockchain technologies.
GNU Lesser General Public License v3.0
202 stars 56 forks source link

Entrega A1: Implementação do método de versionamento #55

Open viniciushedler opened 1 year ago

viniciushedler commented 1 year ago

Aluno: Vinicius Heder Matrícula: 211708502

Introdução

O problema a ser resolvido é o de publicação de artigos científicos, passando por sua avaliação e revisão feitas em comunidade. O software a realizar isto opera de maneria descentralizada com incentivos a cada participante para que realizem os papéis necessários para o funcionamento do sistema. Uma das demanads é a de que uma vez que uma publicação é aprovada, seja possível fazer alterações nela, e é isto o que irei implementar

Estratégia

As alterações devem ser feitas pelo próprio autor, e a publicação não pode simplesmente ser atualizada, mas sim versionada: a nova versão ficará salva, assim como a(s) anterior(es), para que nenhuma informação seja perdida. Tal nova versão deve, então, ser validada tal qual uma nova publicação (a princípio, mas outros métodos podem ser avaliados). Isto será implementado após a implementação dos requisitos (abaixo), e a testagem será feita através da alteração de um dos artigos já publicados, lançando sua nova versão no sistema e checando se permanece consistente com as outras partes do sistema. Idealmente fazer estes versionamentos até uma versão 3 ou 4.

Requisitos

Sistema de publicação: -Sistema de envio do artigo -Sistema de avaliação do artigo e das reviews -Sistema de publicação final, após aprovação do artigo

Cronograma

1-Estudar os sistemas citados em 'Requisitos' e entender seu funcionamento e integração 2-Implementar a interface (frontend) de alteração do artigo: O dono do artigo pode escolher um artigo e fazer um upload de uma nova versão deste O dono do artigo deve informar as diferenças e o motivo da alteração A princípio o sistema não checaria o diff do artigo, mas poderia ser um passo extra 3-Fazer a interface (backend) com as outras partes do sistema: A nova versão do artigo passa pelo processo de avaliação como um novo artigo sendo publicado A única diferença é que a nova versão possuí algumas informações a mais, como versão anterior, nota desta versão... 4-Após a versão ser aprovada, fazer com que ela substitua a versão anterior onde ela é apresentada, e com que a versão anterior seja apresentada como versão antiga de artigo X versão N. 5-Executar testes para garantir que tudo é consistente para artigos com somente uma vesão, artigos com duas versões, e artigos com 3 ou mais versões

A duração de cada atividade não é sabida, dado que os requisitos são necessários para melhor análise Fazendo uma estimativa, acredito que a destribuição de tempo para as atividades, na ordem apresentada, será em torno de 5%, 15%, 30%, 30%, 10%