No âmbito das unidades de formação Programação Web – Server side – e Client side, propõem- se a conceção de uma aplicação web asp.net de um sistema de informação para uma Escola.
A referida aplicação deverá fazer uso de:
ASP.NET Core com arquitetura MVC (Model-View-Controller) com autenticação;
Padrão repository;
Entity Framework Core para criação e todo o gerenciamento do banco de dados no SQL Server;
Repositório no github.
Implantação de todos os CRUD's;
Sistema completo de autenticação (login/logout, cadastro de novos usuários, recuperação de senha por e-mail, etc);
Criação de Roles com no mínimo 4 tipos de usuários (administrador de toda a plataforma, funcionário, aluno e usuário anônimo);
Uso de pelo menos dois controles de terceiros que não devem se repetir entre os treinandos (syncfusion por exemplo);
O aplicativo deve estar funcional e online quando for testado e apresentado;
A aplicação não pode em hipótese alguma estourar ou mostrar as telas de erros de desenvolvimento, devendo criar todas as views para o gerenciamento de erros e conflitos dos crud's.
Sistema de front-end original e adaptado ao projeto.
Implantação de um módulo de Alunos onde serão inseridos e manipulados todos os seus dados.
Implantação de um módulo de Turmas e suas disciplinas.
Implementação de um módulo de Notas.
Implantação do módulo de Consultas de alunos, turmas e notas.
Administrador do sistema apenas gerencia os demais usuários, criando-lhes as contas para estes posteriormente poderem entrar na plataforma. Também disponibilizará os cursos e disciplinas.
Atenção que no processo de criação da conta, qualquer usuário criado no ponto anterior, receberá primeiro um email onde deverá alterar sua senha.
Também deve haver um usuário funcionário, que criará o curso e escolherá as respectivas disciplinas disponíveis. Esse tipo de usuário também será responsável pela inserção dos alunos e de todas as notas.
Finalmente existirão os alunos, que além de poderem mudar seu perfil poderão consultar suas notas e seu status (aprovado/reprovado) em uma determinada disciplina.
Usuários anônimos só podem consultar os cursos, turmas disponíveis, bem como as disciplinas que as compõem.
Funcionalidade | Admin | Funcionário | Aluno | Anónimo |
---|---|---|---|---|
Login | X | X | X | |
Criar contas e adicionar outros usuários | X | |||
CRUD de cursos | X | |||
CRUD de disciplinas / ufcd's | X | X | ||
CRUD de alunos e notas | X | |||
Modificar perfil | X | X | X | |
Recuperar senha | X | X | X | |
Consultar notas | X | |||
Consultar suas notas | X | |||
Exibir cursos e disciplinas disponíveis | X |
Todo usuário com exceção dos anônimos deve ser dado a possibilidade de ter foto de perfil.
Para os alunos essa foto é obrigatória e é diferenciada da foto de perfil que também poderão ter.
O administrador ao se autenticar deverá ser logo direcionado para um dashboard onde deverão aparecer os alertas lançados pelos funcionários relatando possíveis problemas da plataforma, como por exemplo, faltar algum curso ou disciplina necessária para este.
Todos os alunos também terão um campo de faltas por disciplina que mediante configuração de um percentual pelo administrador, permite obter o status de excluído por faltas, nessa mesma disciplina.
Deverá haver o respeito por não apagar e atualizar em cascata, sendo necessária a comunicação entre os diversos usuários.
Também deve ser criada e publicada uma web API que envie todos os alunos de uma turma solicitada.
Aplicação de todas as funcionalidades mínimas descritas acima – 15 valores
Commits semanais (toda segunda-feira, em período de treinamento, a partir do dia 19/06) – 2 pontos
Funcionalidades extras – 3 valores
Será descontado 1 valor para cada dia após o prazo de entrega.
Limite de entrega – 15/09/2023
Apresentação será agendada posteriormente.