ADVENTURE_4

Para realizar a quarta parte do projeto deve começar por resolver na totalidade o exercício prático da aula-spring.

De seguida obtenha a nova versão do código disponibilizada em https://github.com/tecnico-softeng/reference.git. Instale essa versão no ramo master e crie uma cópia para o ramo develop onde o grupo irá realizar as suas atividades de desenvolvimento. Para isso faça
$ git fetch reference
$ get checkout master
$ git merge reference/master
de seguida deve assegurar-se que o código da segunda parte foi entregue através do ramo third-deliver, mudando para esse ramo
$ git checkout third-deliver
pode então apagar o ramo develop, mudar para o ramo master, criar um novo ramo develop a partir do master e colocar a nova versão do develop em origin
$ git branch -d develop
$ git checkout master
$ git checkout -b develop
$ git push origin develop --force
deve agora correr os testes existentes 
$ mvn clean test
e abrir o projeto no Eclipse. 

A quarta parte do projeto corresponde a transformar a aplicação da terceira parte (terceiro sprint) em 4 aplicações web, aplicando padrão arquitetural camada e usando a tecnologia Spring Boot e Thymeleaf, que implementam o padrão modelo-vista-controlador. O módulo broker já se encontra totalmente implementado, de forma que deve servir de referência para a implementação dos restantes 3 módulos.
As interfaces web a implementar são (cada sub-item corresponde a uma interface utilizador):
  • Módulo hotel:
    • No contexto geral da aplicação, criar hotel e listar os hotéis existentes
    • No contexto de um hotel, criar quarto de hotel e listar os quartos do hotel
    • No contexto de um quarto, criar booking (necessita de fornecer as datas de chegada e partida) de um quarto e listar todos os bookings associados a um quarto (apresentar toda a informação do booking)
  • Módulo bank:
    • No contexto geral da aplicação, criar banco e listar os bancos existentes
    • No contexto de um banco, criar cliente de banco, listar os clientes do banco, e listar todas as operações do banco
    • No contexto de um cliente, criar uma conta do cliente, listar as contas do cliente
    • No contexto de uma conta, suportar as operações de depósito e levantamento
  • Módulo activity:
    • No contexto geral da aplicação, criar um fornecedor de atividades e listar os fornecedores de atividades existentes
    • No contexto de um fornecedor, criar uma atividade e listar todas as atividades desse fornecedor
    • No contexto de uma atividade, criar uma oferta de atividade, listar todas as ofertas dessa atividade e, para cada oferta, listar todas as suas reservas
Sempre que durante a execução de uma operação for lançada uma excepção, deve ser apresentada uma mensagem de erro indicando apenas que não foi possível efetuar a operação.
Os grupos devem começar por reunir para se subdividirem em subgrupos e identificarem as tarefas, associá-las ao backlog, e definir dependências de precedência entre elas, de forma a calendarizá-las no período disponível.
Cada grupo deve-se dividir em sub-grupos de 3 alunos, em que cada um deles, trabalha num módulo. É obrigatório indicar no README.md quais os elementos que trabalham em cada um dos módulos, indicando o número de aluno, o nome e o username no GitHub. 
IMPORTANTE: Os subgrupos não podem ter os mesmos elementos da primeira e terceira parte do projeto. Adicionalmente, cada aluno deve trabalhar no módulo em que não trabalhou nas partes primeira e terceira.

Para a entrega deverão fazer:
$ git checkout develop
$ git checkout -b fourth-deliver
$ git tag ADVENTURE_4
$ git push origin --tags fourth-deliver:fourth-deliver

tag deve ter uma data anterior à data limite de entrega, dia 7 de Maio pelas 20:00.