-
Notifications
You must be signed in to change notification settings - Fork 8
PI 1920 1 Trab P2&3
Programação na Internet
Semestre de Inverno de 2019/2020 – 2ª e 3ª Parte do Trabalho prático
- Data limite de entrega da 2ª parte: 06/12/2019-23h59
- Data limite de entrega da 3ª parte: 12/01/2020-23h59
O desenvolvimento da aplicação CIBORG (Chelas Internet BOaRd Games) é faseado em três partes (Parte 1, Parte 2 e Parte 3) cada uma com uma data limite de entrega.
A entrega é realizada através da criação da tag ParteX no repositório GitHub do grupo, onde X corresponde ao número da parte a entregar.
Este enunciado inclui os requisitos das partes 2 e 3 da aplicação CIBORG.
A parte 2 não inclui qualquer requisito funcional adicional. O objetivo desta parte é refazer o código implementado (refactor) de modo a incorporar as tecnologias e técnicas entretanto abordadas em PI, nomeadamente o módulo express
, o suporte para Promises e as construções async
/await
da linguagem JavaScript.
-
Altere a implementação dos módulos
ciborg-server
eciborg-web-api
usando o móduloexpress
para definição das rotas de atendimento de pedidos HTTP da aplicação CIBORG. Garanta que todos os testes unitários da coleção Postman da aplicação CIBORG são executados com sucesso. -
Altere a implementação dos módulos
ciborg-db
,board-games-data
,ciborg-service
eciborg-web-api
, substituindo a utilização de callbacks por um idioma assíncrono baseado emPromise
e/ou emasync/await
. Os respetivos mocks e testes unitários devem ser adaptados em conformidade com a nova API. Garanta que o correto funcionamento de todos os módulos é validado por testes unitários. -
Além dos requisitos anteriores, esta fase do trabalho deve ser utilizada para melhorar a qualidade do código bem como a qualidade e quantidade de testes, quer unitários quer realizados através do Postman.
A parte 3 tem como objetivo a disponibilização de uma interface para apresentação em Web Browser e o suporte para autenticação, de modo a que cada utilizador possa ter dados privados.
-
Criar uma interface Web para apresentação num web browser, para todas as funcionalidades disponibilizadas pela Web API. Na criação desta interface devem ser usadas as tecnologias: HTML, CSS, Bootstrap framework, webpack fetch e Handlebars.
-
Adicione à aplicação CIBORG a funcionalidade de registo e autenticação de utilizadores. Todas as funcionalidades de gestão de grupos de jogos devem estar acessíveis apenas a utilizadores autenticados. Os grupos são privados a cada utilizador e só podem ser manipulados pelo seu detentor (dono). Na implementação desta funcionalidade deve ser utilizado o módulo
Passport
. -
Com esta parte do trabalho deve ser entregue um relatório no wiki do repositório do grupo, com a descrição da implementação do trabalho realizado na sua totalidade. Deste modo não devem constar os estados intermédios pelo qual a implementação passou em cada uma das fases. No relatório deve constar obrigatoriamente:
- Descrição da estrutura da aplicação, em ambas as componentes (servidora e cliente).
- Documentação da API do servidor.
- Instruções de todos os passos prévios que é necessário realizar para correr aplicação e os respetivos testes.
- Nesses passos devem estar incluídos as ações necessárias para introdução automática de dados de teste, por forma a que seja possível correr a aplicação com dados.
- As instruções devem ter toda a informação necessária para correr a aplicação em qualquer máquina, nomeadamente na do docente. Caso essas instruções não sejam suficientes para colocar a aplicação a correr no máximo em 5 min, a nota máxima da componente prática fica limitada a 12 valores.