EduHub es un sitio web innovador de un instituto educativo diseñado para brindar a los estudiantes una experiencia de inscripción perfecta en una amplia gama de cursos para mejorar el aprendizaje. Incorpora un panel de instructor fácil de usar que permite a los instructores crear tareas manualmente o con la ayuda de tecnología de inteligencia artificial de vanguardia. Además, los instructores tienen la capacidad de hacer anuncios oportunos, asegurando que los estudiantes estén al tanto de las actualizaciones importantes.
En vivo: https://edu-sphere-seven.vercel.app/
El backend está construido sobre Node.js.
Ruta | Caso de uso | Acceso |
---|---|---|
OBTENER /api/estudiante | Recuperar a todos los estudiantes | autenticación, autorizar(["admin"]) |
POST /api/estudiante/registro | Registrar un nuevo estudiante | Público |
POST /api/estudiante/iniciar sesión | Iniciar sesión como estudiante | Público |
OBTENER /api/estudiante/curso/instructor/:id | Obtener estudiantes en un curso asignado a un instructor | autenticación, autorizar(["instructor", "admin"]) |
OBTENER /api/instructor | Buscar todos los instructores | autenticación, autorizar(["admin"]) |
ENVIAR /api/instructor/registro | Registrar un nuevo instructor | Público |
POST /api/instructor/iniciar sesión | Iniciar sesión como instructor | Público |
OBTENER /api/instructor/curso | Consigue instructores y cursos asociados | autenticación, autorizar(["admin"]) |
OBTENER /api/instructor/curso/disponible | Obtener cursos no asignados a un instructor | Público |
OBTENER /api/departamento | Obtener todos los departamentos | Público |
POST /api/departamento | Crear un nuevo departamento | autenticación, autorizar(["admin"]) |
OBTENER /api/departamento/cursos | Obtener departamentos con cursos asociados | Público |
OBTENER /api/curso | Obtener todos los cursos | Público |
ENVIAR /api/curso | Crear un nuevo curso | autorizar(["instructor", "admin"]) |
OBTENER /api/curso/inscrito/:id | Obtener cursos inscritos para un estudiante específico | autenticación, autorizar(["estudiante", "admin"]) |
OBTENER /api/inscripción | Obtener todas las inscripciones | autenticación, autorizar(["admin"]) |
OBTENER /api/inscripción/estudiante/curso | Obtenga todas las inscripciones de estudiantes con curso y fecha de inscripción | autenticación, autorizar(["admin"]) |
POST /api/inscripción | Inscribir a un estudiante en un curso | autenticación, autorizar(["estudiante"]) |
OBTENER /api/asignación | Obtener todas las tareas | autorizar(["admin", "instructor"]) |
ENVIAR /api/asignación | Crear una nueva tarea | autorizar(["instructor"]) |
OBTENER /api/asignación/curso | Obtener tareas con cursos asociados | autorizar(["admin"]) |
OBTENER /api/asignación/curso/:id | Obtener tareas para un curso específico | autenticación, autorizar(["estudiante", "instructor", "admin"]) |
OBTENER /api/asignación/estudiante/:id | Obtenga tareas y envíos para un estudiante específico | autenticación, autorizar(["estudiante", "instructor", "admin"]) |
ELIMINAR /api/asignación/:id | Eliminar una tarea | autorizar(["instructor", "admin"]) |
PARCHE /api/asignación/:id | Actualizar una tarea | autorizar(["instructor", "admin"]) |
OBTENER /api/envío | Obtener todos los envíos | autenticación, autorizar(["admin"]) |
ENVIAR /api/envío | Enviar una tarea | autenticación, autorizar(["estudiante", "instructor"]) |
OBTENER /api/envío/estudiante | Obtener presentaciones de estudiantes | Público |
OBTENER /api/envío/curso/:id | Obtener presentaciones para un curso específico | autenticación, autorizar(["admin", "instructor"]) |
OBTENER /api/anuncio/departamento/:id | Recibir anuncios para un departamento específico | autenticación, autorizar(["admin", "instructor", "estudiante"]) |
OBTENER /api/anuncio/curso/:id | Recibir anuncios de un curso específico | autenticación, autorizar(["admin", "instructor", "estudiante"]) |
OBTENER /api/anuncio | Recibe todos los anuncios | autenticación, autorizar(["estudiante", "instructor", "admin"]) |
OBTENER /api/anuncio/estudiante/:id | Recibir anuncios de cursos matriculados por un estudiante | autenticación, autorizar(["estudiante", "instructor", "admin"]) |
OBTENER /api/anuncio/:id | Recibe un anuncio específico | autenticación, autorizar(["estudiante", "instructor", "admin"]) |
POST /api/anuncio | Publicar un nuevo anuncio | autenticación, autorizar(["admin", "instructor"]) |
ENVIAR /api/ai/chat | Publicar un mensaje para chatbot AI | Público |
ENVIAR /api/ai/asignación | Obtenga información de tareas usando IA | autenticación, autorizar(["instructor", "admin", "estudiante"]) |
GET /api/student
: recupera todos los estudiantes.POST /api/student/signup
: registrar un nuevo estudiante.POST /api/student/signin
: Inicia sesión como estudiante.GET /api/instructor
: recupera todos los instructores.POST /api/instructor/signup
: registre un nuevo instructor.POST /api/instructor/signin
: inicie sesión como instructor.GET /api/department
: recupera todos los departamentos.POST /api/department
: crea un nuevo departamento.GET /api/course
: recupera todos los cursos.POST /api/course
: crea un nuevo curso.GET /api/enrollment
: recupera todas las inscripciones.POST /api/enrollment
: inscribir a un estudiante en un curso.GET /api/assignment
: recupera todas las asignaciones.POST /api/assignment
: crea una nueva tarea.GET /api/submission
: recupera todos los envíos.POST /api/submission
: envía una tarea.GET /api/announcement
: obtiene todos los anuncios.GET /api/announcement/:id
: obtiene un anuncio específico.POST /api/announcement
: publica un nuevo anuncio.POST /api/ai/chat
: publica un mensaje para chatbot AI.POST /api/ai/assignment
: obtiene información de asignación utilizando AI.A lo largo del desarrollo de EduHub, he tenido la oportunidad de ampliar significativamente mis conocimientos y habilidades. Estas son algunas de las conclusiones clave:
Nuevas pilas de tecnología : exploré e implementé nuevas pilas de tecnología, incluido el uso de IA generativa, en solo un mes. Esta experiencia ha enriquecido mi habilidad en el manejo de herramientas y marcos de vanguardia.
IA generativa : en particular, profundicé en la IA generativa como parte del curso GA-201. Aprender a aprovechar la IA para diversas tareas, como la generación de tareas y las interacciones con chatbot, ha sido una experiencia esclarecedora.
Comunicación : El desarrollo del sistema de anuncios me enseñó la importancia de una comunicación eficaz para garantizar que los estudiantes, instructores y administradores estén informados de las actualizaciones esenciales con prontitud.
Integración de IA : la integración de funciones de IA en el proyecto, como el Chatbot de IA generativa y el Generador de asignaciones de IA, ha abierto posibilidades interesantes para automatizar y mejorar las interacciones de los usuarios.
Aprendizaje continuo : este proyecto ha reforzado la importancia del aprendizaje continuo en el acelerado mundo de la tecnología. Adaptarse a nuevas herramientas y tecnologías es esencial para seguir siendo competitivo e innovador.
También me gustaría mencionar que recibí valiosa ayuda de un modelo de IA durante el proceso, lo que muestra el potencial de la IA para simplificar varios aspectos del desarrollo de software.
Gracias por la oportunidad de trabajar en EduHub y espero aplicar estas nuevas habilidades a proyectos y esfuerzos futuros.
Nota: Este proyecto individual se desarrolló en tan solo 8 días.