No description
Find a file
2023-11-07 16:50:46 -04:00
prisma Criando o diagrama EER 2023-11-03 17:00:34 -04:00
src Criando query de listar aparecendo o nome dos grupos 2023-11-07 16:50:46 -04:00
.env.example implementado documentação 2023-10-28 22:45:48 -04:00
.gitignore Criando Modelo de Banco de dados e suas tabelas com prisma 2023-10-27 15:41:14 -04:00
package-lock.json Criando query de listar aparecendo o nome dos grupos 2023-11-07 16:50:46 -04:00
package.json Criando query de listar aparecendo o nome dos grupos 2023-11-07 16:50:46 -04:00
README.md Criando o diagrama EER 2023-11-03 17:00:34 -04:00
server.js Criando Modelo de Banco de dados e suas tabelas com prisma 2023-10-27 15:41:14 -04:00

🗄️ README.md

📝 Descrição

Uma API RESTful para plataforma de cursos online, onde é possível cadastrar, alterar, excluir e listar os cursos.

💡 Ideia do projeto

O projeto foi desenvolvido para a Fabrica de Softwre(FSLab) do curso de Análise e Desenvolvimento de Sistemas do Instituto Federal de Rondônia - IFRO.

🎨 Diagrama EER

Diagrama ERR da plataforma.

📚 Funcionalidades

  • Página Inicial:

    Listar cursos. Permitir a filtragem de cursos pelo nome.

  • Página com Detalhes de um Curso:

    Mostrar informações detalhadas sobre um curso, incluindo nome, descrição, instrutor, duração, etc. Listar os módulos ou aulas do curso. Permitir que os usuários se inscrevam no curso.

  • Página de Login:

    Permitir que os usuários façam login na plataforma. Autenticar os usuários e fornecer tokens de acesso.

  • Página de Recuperar Senha:

    Permitir que os usuários redefinam suas senhas esquecidas. Enviar um e-mail de redefinição de senha com um link seguro.

  • Página de Cadastrar Usuário:

    Permitir que os novos usuários se cadastrem na plataforma. Coletar informações como nome, e-mail, senha, etc.

  • Página de Perfil de um Usuário:

    Exibir informações do perfil do usuário, como nome, e-mail, cursos inscritos, histórico, etc. Permitir que o usuário atualize suas informações pessoais.

  • Página de Meus Cursos:

    Listar os cursos em que o usuário está inscrito. Mostrar o status de cada curso (em andamento, finalizado, etc.).

  • Página de Realizar o Curso:

    Apresentar os módulos ou aulas do curso. Permitir que o usuário marque o progresso (aulas concluídas). Incluir atividades relacionadas ao curso.

  • Página de Visualizar Certificado:

    Mostrar os certificados de conclusão de cursos finalizados. Permitir o download ou exibição do certificado.

  • Página de Consultar Certificado:

    Permitir que os usuários busquem certificados específicos. Exibir detalhes do certificado, como data de conclusão e nome do curso.

🔧 Tecnologias utilizadas

  • Em Construção ...

📷 Screenshots

  • Em Construção ...

🚀 Rodando o projeto

  • Em Construção ...

💾 Banco de dados

  • Usuarios: Este modelo representa os usuários da plataforma. Ele inclui campos como id (identificador único), nome, email, senha, ativo (indicando se o usuário está ativo), created_at (data de criação) e updated_at (data de atualização). Os usuários também estão associados a grupos por meio da tabela GrupoUsuario.
  • Grupo: Este modelo representa grupos de usuários. Cada grupo possui um id, nome e uma descrição opcional. Os grupos são relacionados com os usuários por meio da tabela GrupoUsuario.
  • GrupoUsuario: Esta é uma tabela de associação que conecta usuários a grupos específicos. Ela inclui grupo (referência ao grupo) e usuario (referência ao usuário). O campo grupoId e usuarioId são usados para criar uma chave primária composta.
  • Questao: Este modelo representa questões relacionadas a cursos. Ele possui campos como id, pergunta, resposta, e uma referência ao Curso ao qual a questão está associada.
  • Curso: Este modelo representa cursos na plataforma. Ele inclui campos como id, nome, descricao, duracao, preco, categoria e instrutorId (referência ao instrutor). Também está relacionado a outras tabelas, como Conteudo, Inscricao, Avaliacao, Questao e Certificado.
  • Aluno: Representa os alunos da plataforma. Além dos campos de id, nome, email, inscricoes, avaliacoes, created_at e updated_at, também tem um relacionamento com Certificado, indicando que um aluno pode ter vários certificados.
  • Certificado: Este modelo é usado para representar certificados emitidos aos alunos. Ele inclui campos como id, nome, descricao, alunoId (referência ao aluno que recebeu o certificado), cursoId (referência ao curso relacionado) e dataEmissao. Também tem um relacionamento com Curso por meio do nome da relação "Certificados".
  • Instrutor: Representa instrutores que ministram cursos. Ele possui campos como id, nome, bio, email e está relacionado com os cursos que eles ministram.
  • Conteudo: Este modelo representa o conteúdo associado a cursos. Ele inclui informações como id, titulo, descricao, link e uma referência ao Curso ao qual o conteúdo pertence.
  • Inscricao: Registra as inscrições de alunos em cursos. Ele inclui informações como id, cursoId, alunoId, dataInscricao e relacionamentos com Curso e Aluno.
  • Avaliacao: Representa as avaliações feitas pelos alunos em relação aos cursos. Ele possui campos como id, estrelas, cursoId, alunoId e relacionamentos com Curso e Aluno.

🔜 Implementação futura

  • Em Construção ...

🤝 Colaboradores

Foto de Alexandre Lira no GitHub
Alxdelira