Ficha pri2020-e1

Avaliação: Desenvolvimento de Aplicações Web

Processamento e Representação da Informação (MIEI)

O objectivo principal desta ficha é testar os conhecimentos obtidos durante as aulas no desenvolvimento de aplicações Web e outras tarefas afins.

Os resultados finais deverão ser enviados ao docente da seguinte forma:

  • Enviar por email para: jcr@di.uminho.pt
  • Colocar no subject/assunto: PRI2019::Teste::Axxxxx
  • Em que Axxxxx corresponde ao número do aluno;
  • Enviar um PR.xml onde descreve o que fez e inclui os 2 pontos seguintes;
  • Enviar link do GitHub onde guardou os ficheiros de resolução;
  • Para os exercícios em que recorrer a mais do que um servidor, por exemplo, servidor node e servidor Mongo, explique como se pode colocar a funcionar a sua App.

Recursos:

Recursos disponíveis para a realização da ficha:

Exercícios:

  1. Prémios Nobel
  2. CLAV: Classificação e Avaliação da Informação Pública

A CLAV é uma plataforma em desenvolvimento no DI/UM em parceria e sob encomenda da Direção Geral do Livro, Arquivos e Bibliotecas (DGLAB) que visa a classificação e a avaliação de toda a documentação circulante na administração pública portuguesa.

Uma das faces visíveis do projeto é o catálogo dos processos da administração pública portuguesa, designado por Lista Consolidada. Juntamente com este catálogo há outros: o catálogo legislativo, que contem as entidades da Administração Pública Portuguesa, o catálogo das tipologias, que contem a lista de agrupamentos de entidades, e o catálogo legislativo, que contem a lista de diplomas legislativos que regulam os processos.

Já se encontra disponível para consulta online: site oficial A respetiva API de dados e respetiva documentação encontra-se acessível em: API de dados .

Para user a API poderás usar a APIKEY disponibilizada , exemplo: http://clav-api.dglab.gov.pt/api/tipologias?apikey=...

É sobre o catálogo de tipologias que irás desenvolver este exercício.

A API de dados disponível contem entre outras as seguintes possibilidades:

  • GET http://clav-api.dglab.gov.pt/api/tipologias - Devolve a lista de tipologias com várias opções de configuração;
  • GET http://clav-api.dglab.gov.pt/api/tipologias/{id} - Devolve a informação de uma tipologia com identificador igual a id;
  • GET http://clav-api.dglab.gov.pt/api/tipologias/{id}/elementos - Devolve a lista de entidades pertencentes à tipologia;
  • GET http://clav-api.dglab.gov.pt/api/tipologias/{id}/intervencao/dono - Devolve a lista de processos de que a tipologia é dona;
  • GET http://clav-api.dglab.gov.pt/api/entidades/{id} - Devolve toda a informação de uma entidade;
  • GET http://clav-api.dglab.gov.pt/api/entidades/{id}/tipologias - Devolve as tipologias a que uma entidade pertence.

Desenvolve então as seguintes alíneas:

  1. Testa a API de dados com o Postman ou diretamente no link da API e dá resposta às seguintes questões:
    • Quantos Tipologias estão catalogadas?
    • Quantos Entidades pertencem à Tipologia tip_FSS?
    • Em que processos a tipologia tip_FA participa como Comunicador?
    • A que tipologias pertence a entidade ent_SEF?

Depois deste "aquecimento", desenvolve uma aplicação em nodejs que permita navegar nesta estrutura de tipologias e entidades:

  1. Na página inicial, para além de um título e outra informação de contexto, deverá aparecer a lista de tipologias;
  2. Todos os campos de informação com códigos de entidades, tipologias ou outros devem ser transformados em links com as chamadas à API respetivas;
  3. Na página de cada tipologia, deve ser mostrada a informação base da tipologia, a lista de entidades de que é composta, os processos em que é dona e os processos em que é participante;
  4. Em todas as páginas deverá haver um link para voltar à página inicial e outro para a página anterior (nos casos em que justifique);
  5. Usa a tua imaginação e criatividade...