Trabalho Prático – Aplicação Web em Jakarta EE, usando a framework Spring 7 valores distribuídos da seguinte forma:
3.5 – Atribuídos à funcionalidade e interface do trabalho.
1.0 – Gestão de sessões.
1.0 – Mecanismos de segurança.
1.5 – Relatório
Data de entrega pelo Moodle: até às 23h59 de 1 de Junho (Grupos de 3 alunos).
Pretende-se uma aplicação web que aceda a RESTful web services desenvolvidos com a framework Spring. Para persistência de dados a aplicação deve criar uma base de dados usando um SGBD à escolha do grupo. A aplicação deve permitir gerir os serviços fornecidos por uma escola profissional do tipo que escolher da lista abaixo (cada tipo pode ser escolhido no máximo por 3 grupos):
T1 - Escola tecnológica;
T2 - Escola de jardinagem;
T3 – Escola de estética e cabeleireiro;
T4 - Escola de dança;
T5 - Escola de música;
T6 - Escola de hotelaria;
T7 - Escola de teatro;
Cada grupo deve começar por escolher um tipo de escola, decidir como esta se organiza e que cursos fornece. A aplicação deve ter 3 tipos de utilizadores, Administrador, Professor e Aluno. Cada grupo deve decidir quais as funcionalidades a disponibilizar pela sua aplicação e qual o tipo de utilizador responsável por cada uma dessas funcionalidades.
Para além das operações base como criar um curso, atribuir professor a um curso, ou inscrição de um aluno num curso, etc, deve ser possível realizar as operações base de manipulação de dados (criar, visualizar, atualizar e eliminar - CRUD) para cada entidade, identificada como necessária para construir a aplicação.
Deve ser possível obter informação sobre o funcionamento da escola. Alguns exemplos: qual o curso com mais alunos inscritos? Quais os cursos em funcionamento? Qual o curso com maior número de horas? Qual o curso com mais aprovações? Qual a idade média dos alunos que frequentam um dado curso? Qual a proveniência geográfica dos alunos da escola? etc, …
Além das funcionalidades da aplicação devem ser tratados os aspetos de:
- gestão de sessões na interação de cada utilizador com a aplicação;
- segurança na gestão de sessões, na introdução de dados, e outros aspetos que considere importantes. O relatório deverá incluir as seções:
- Introdução;
- Modelo de dados;
- Descrição da arquitetura e funcionalidades da aplicação;
- Descrição das opções tomadas para gestão de sessões e segurança. Na defesa dos trabalhos (semana de 4/6) todos os elementos do grupo devem ter o trabalho a funcionar na sua máquina. No final, o aluno de contacto de cada grupo deve:
- Submeter no Moodle o código fonte do projeto, mais o relatório em pdf, até dia 1 de Junho às 23:59*. (*) Tolerância de algumas horas