- Implementar sistema de autenticação com login
- Criar funcionalidade de cadastro de novos usuários
- Criar usuário root durante a criação das tabelas do sistema
- Permitir que o usuário root conceda permissões a novos usuários (por exemplo, perfil admin)
-
Funcionalidades do usuário admin
- Cadastrar novas categorias de curso
- Endpoint para cadastrar uma nova categoria de curso
- Lógica para validar e salvar a nova categoria no banco de dados
- Alterar categorias de curso existentes
- Endpoint para alterar uma categoria de curso existente
- Lógica para validar e atualizar a categoria no banco de dados
- Deletar categorias de curso existentes
- Endpoint para deletar uma categoria de curso existente
- Lógica para remover a categoria do banco de dados
- Cadastrar novos cursos
- Endpoint para cadastrar um novo curso
- Lógica para validar e salvar o novo curso no banco de dados
- Alterar cursos existentes
- Endpoint para alterar um curso existente
- Lógica para validar e atualizar o curso no banco de dados
- Deletar cursos existentes
- Endpoint para deletar um curso existente
- Lógica para remover o curso do banco de dados
- Suspender conta de usuário aluno
- Endpoint para suspender a conta de um usuário aluno
- Lógica para atualizar o status da conta do aluno no banco de dados
- Cadastrar novas categorias de curso
-
Funcionalidades do usuário admin
- Listagem das categorias de curso
- Página para exibir a lista de categorias de curso
- Requisição ao backend para obter a lista de categorias
- Formulário para cadastrar uma nova categoria de curso
- Página com um formulário para inserir os dados da nova categoria
- Requisição ao backend para cadastrar a nova categoria
- Formulário para alterar uma categoria de curso existente
- Página com um formulário preenchido com os dados da categoria a ser alterada
- Requisição ao backend para atualizar a categoria
- Formulário para deletar uma categoria de curso existente
- Página com informações da categoria a ser deletada e um botão de confirmação
- Requisição ao backend para deletar a categoria
- Listagem dos cursos
- Página para exibir a lista de cursos
- Requisição ao backend para obter a lista de cursos
- Formulário para cadastrar um novo curso
- Página com um formulário para inserir os dados do novo curso
- Requisição ao backend para cadastrar o novo curso
- Formulário para alterar um curso existente
- Página com um formulário preenchido com os dados do curso a ser alterado
- Requisição ao backend para atualizar o curso
- Formulário para deletar um curso existente
- Página com informações do curso a ser deletado e um botão de confirmação
- Requisição ao backend para deletar o curso
- Listagem dos alunos
- Página para exibir a lista de alunos
- Requisição ao backend para obter a lista de alunos
- Rotina para "fechar" um curso e emitir certificados
- Verificação da carga horária dos alunos que concluíram o curso
- Emissão de certificados para os alunos com mais de 90% de carga horária concluída
- Listagem das categorias de curso
- Cadastro no sistema
- Atualização do perfil (endereço, celular, foto do perfil)
- Inscrição nos cursos disponíveis
- Vincular cursos a apenas uma categoria de cursos
- Permitir que uma categoria de cursos contenha vários cursos
- Estabelecer critérios de validação para emissão de certificados
- Critério 1: Aluno respondeu um questionário e acertou mais de 70%
- Critério 2: Aluno completou mais de 90% da carga horária do curso
- Lançamento da carga horária pelo perfil admin
- Implementar sistema de emissão e controle de certificados utilizando Blockchain (desafio!) (No caso foi usando um sistema de hash com 16 bits)
- Realizar deploy da aplicação em uma instância EC2 da AWS
- Seguir os passos vistos em aula [x] (Realização ultilizando micros serviços em docker com arquitetura Rest Full)
- Usuário de acesso padrão: root
- Senha padrão: 1234