Projeto Final
Parte 1 - Envio da proposta
Defina a partir do seguinte formulário, um domínio a ser modelado e implementado em um sistema, explicando resumidamente os requisitos do sistema com suas entidades principais. Essa definição deve ser enviada e aprovada pelo professor.
Prazo final de entrega: 21/11/2021
O trabalho é individual
Os trabalhos devem necessariamente ter domínios distintos.
A ordem de envio para o professor determina quem tem prioridade por determinado domínio. Caso o domínio já tenha sido escolhido por outro aluno, deve-se propor um novo domínio.
Projetos Aprovados
| # | Descrição |
|---|
Parte 2 - Implementação
Este passo só pode ser iniciado após a aprovação da Parte I pelo professor. O projeto que vai ser desenvolvido deve ser hospedado no GitHub. A segunda parte do projeto deve ser enviada via o seguinte formulário.
Prazo final de entrega: 06/02/2022
Requisitos mínimos:
- A aplicação deve necessariamente implementar o padrão MVC - Modelo, Visão, Controlador e usar as boas práticas de desenvolvimento Web apresentadas em sala de aula. O MVC deve ser implementado usando as ferramentas: Node.js + Express + MongoDB + Vue.js.
- A aplicação deve ser uma SPA – Single Page Application – e ter uma página principal que é exibida automaticamente ao acessar a raiz da aplicação.
- A aplicação deve ter uma barra de navegação/menu com todas as opções/links funcionando.
- A aplicação deve usar CSS, Javascript, JSON e AJAX. Recomenda-se também o uso de Bootstrap ou outro framework CSS para melhorar o visual da aplicação de forma simplificada. Dê preferência ao uso de Javascript e CSS externos ao HTML. Evite o uso de CSS e Javascript diretamente nos elementos HTML. Chamadas AJAX podem retornar dados no formato JSON para serem devidamente exibidos na interface do navegador.
- A aplicação deve ter Página/Serviço de Autenticação (login). Também deve ter o serviço de logout que deve estar sempre visível aos usuários logados. Além disso, o nome do usuário deve aparecer, em todas as páginas enquanto ele estiver logado.
- A aplicação deve ter uma Área pública com páginas/serviços acessíveis a todos; e uma área restrita com páginas/serviços acessíveis somente a usuários autenticados. Assim, deve-se realizar Autorização em todas as páginas/serviços restritos da aplicação para só permitir o acesso de usuários logados.
- A aplicação deve ter uma página amigável para mostrar ao usuário os erros de HTTP ou exceções que ocorrem no lado servidor.
- A aplicação Web deve ter modularização de trechos de HTML usados em várias páginas. Exemplo: Deixar cabeçalho e rodapé em arquivos separados e incluí-los nas páginas onde serão necessários.
- A aplicação deve persistir os dados em um banco de dados NoSQL MongoDB. Deve-se usar o framework Mongoose para para fazer consultas, inserções, atualizações e remoções em pelo menos 3 coleções relacionadas.
Apresentação do trabalho
O trabalho também deverá necessariamente ser apresentado em via stream (1 ponto) conforme cronograma da disciplina. A não apresentação do trabalho pelo aluno em sua anulação.