Projeto

Na disciplina de Engenharia de Software será usada a aplicação Quizzes Tutor para os alunos responderem a perguntas de escolha múltipla sobre as matérias da unidade curricular.

Adicionalmente, no projeto da disciplina iremos enriquecer esta aplicação com 3 novas funcionalidades. O projecto é open source disponível num repositório GitHub.

Para facilitar o desenvolvimento serão disponibilizados vídeos ao longo do semestre sobre a aplicação, suas funcionalidades e modelos e código:

Grupos

O projeto é realizado por grupos de 6 alunos, subdivididos em grupos de 2 alunos. Cada subgrupo de 2 alunos fica responsável por uma das funcionalidades.
Deve ser criado um ramo para cada subgrupo, em que o seu nome corresponde à funcionalidade de que o grupo é responsável. Assim, vão existir os seguintes ramos:
  • master - onde são efetuadas as entregas finais do código integrado de cada uma das partes do projeto, a partir do código em develop
  • develop - onde é integrado o código de cada um dos subgrupos, essa integração deve ser efetuada com frequência dentro da política de integração contínua
  • PpA - onde se desenvolve a funcionalidade de Perguntas por Alunos, deve sincronizar frequentemente com develop
  • DdP - onde se desenvolve a funcionalidade de Discussão de Perguntas, deve sincronizar frequentemente com develop
  • TdP - onde se desenvolve a funcionalidade de Torneios de Perguntas, deve sincronizar frequentemente com develop

Entregas

O projeto possui 4 partes:
  1. Domínio, testes de serviços e JPA - entrega a 13 de março de 2020 às 17:00
    É obrigatório entregar um ficheiro P1.md que siga a mesma estrutura que o template com o mesmo nome no repositório templates. Este ficheiro deverá ser colocado na raíz do projecto.
  2. Spring-boot, JMeter e Profiling - entrega a 27 de março de 2020 às 17:00
    É obrigatório entregar um ficheiro P2.md que siga a mesma estrutura que o template com o mesmo nome no repositório templates. Este ficheiro deverá ser colocado na raíz do projecto.
  3. VueJs e testes End-to-end - entrega a 20 de abril de 2020 às 17:00
    É obrigatório entregar um ficheiro P3.md que siga a mesma estrutura que o template com o mesmo nome no repositório templates. Este ficheiro deverá ser colocado na raíz do projecto.
  4. Restantes funcionalidades por forma a formar um produto completo  - entrega a 8 de maio de 2020 às 17:00
    É obrigatório entregar um ficheiro P4.md que siga a mesma estrutura que o template com o mesmo nome no repositório templates. Este ficheiro deverá ser colocado na raíz do projecto.

As entregas são efetuadas no GitHub usando tags da forma Funcionalidade-Parte e Parte
  • As tags Funcionalidade-Parte são colocados nos ramos de funcionalidade. Por exemplo, PpA-P1 corresponde à primeira entrega da funcionalidade de Perguntas por Aluno no ramo PpA
    • git checkout PpA
    • git tag -a PpA-P1 -m "first delivery ppa"
    • git push origin PpA-P1
  • As tags Parte são colocadas no ramo master depois de ter integrado o ramo develop. Por exemplo, P2 corresponde à entrega, relativa à parte 2, da integração das 3 funcionalidades no ramo develop
    • git checkout master
    • git merge develop
    • git tag -a P1 -m "first delivery"
    • git push origin P1