- JavaScript 100%
| prisma | ||
| src | ||
| .env.example | ||
| .gitignore | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| server.js | ||
🗄️ 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
.
📚 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
|
Alxdelira |