Desarrollo Sistema de Gestión Académica Escolar (MySQL, NestJS + React)
Budget: $30 – $250 USD
Descripción del Proyecto:
Se requiere desarrollar un sistema de gestión académica para instituciones educativas con las siguientes funcionalidades clave:
Gestión de Usuarios y Permisos:
- Roles: Admin Director, Asistente, Tesoreria, Coordinador, Profesor Auxiliar, Representante, Estudiante.
- Permisos granulares por rol.
- Los roles profesor y Ayudante del profesor pueden ser asignados a Grados o a Materias dependiendo de si el grado es primaria o no.
- los roles deben ser asignados por el admin y el director
Grados academicos:
- Se debe poder crear los grados academicos que maneja la intitucion y darles un orden de relevancia. Ej preescolar tiene el orden 1, Primaria tiene el orden 2, etc.
- acceso: admin, director, asistente.
Plantillas Materias:
- Se debe poder crear materias y estas van asociadas al grado academico
- Se debe poder asignar las horas semanales requeridas.
- Se debe poder asignar si requiere o no un profesor
- en caso de que requiera un profesor se puede indicar si requiere o no un auxiliar
- Se debe poder indicar si es posible cursarla como resagada en caso de reprobar (esto indica que el alumno podrá cursar el año siguiente en paralelo al grado que debe cursar)
- Se debe poder indicar si en caso de reprobar la materia entonces no puede avanzar de grado
- acceso: admin, director, asistente.
- se debe poder asignar el tipo de nota letras o numerica y en caso de numerica el valor maximo permitido
- en caso de que la nota sea numerica se debe indicar si la materia se evalua por puntos o por promedio de notas de lo contrario se realizará un promedio.
- se debe poder asignar la nota maxima
Plantillas de Grados:
- Se debe poder configurar el grado academico (preescola, primaria, secundaria, bachiller)
- Se deben poder asignar las materias a partir de la plantilla de materias que coincidan con el grado academico asignado
- se debe poder asignar las secciones disponibles para ese grado (A, B, C, D, U) que es la forma en que se representa el salon para el grado (ej: Primer grado A, Primer grado B)
- se debe poder asignar si requiere un profesor
- si se selecciona que requiere profesor entonces se puede asignar si requiere auxiliar
- acceso: admin, director, asistente.
Año escolar:
- Se debe poder configurar el año escolar ej (2025-2026) con su fecha de inicio y fecha de fin ademas de la fecha de inicio de inscripciones
- se le debe poder asignar el tipo de ciclos que manejará (lapso, semestre, trimestre, etc) y las fechas de inicio y cierre de cada uno
- acceso: admin, director, asistente.
Cursos
- debe asignarse a un año escolar previamente creado
- debe partir de la plantilla de cursos
- se debe seleccionar un profesor o auxiliar si la plantilla lo indica
- se deben cargar las materias según la plantilla de cursos y se debe poder asignar un profesor o auxiliar si las materias lo indican
- debe asignarse una seccion a partir de las opciones que maneje la plantilla y esta no debe coincidir con una previamente creada
- se debe poder asignar un coordinador
- costo por curso
Asignacion de alumnos
- el mismo representante podrá cargar la información de su representado en caso de que sea un alumno nuevo, e indicar el curso al que debe ingresar (solo como dato), pero finalmente debe ser aprobado por el director o la secretaria en caso de que sea un registro nuevo y serán estos ultimos quienes asignaran el curso
- a cada representante se le pueden asignar uno o mas alumnos y asignarles el año escolar que cursará y si la data está cargada (año escolar+curso) entonces se le podrá asignar un curso (role admin, director y secretaria)
- en caso de que el alumno no sea un ingreso nuevo entonces el representante podrá confirmar su participacion para el año estudiantil venidero confirmando el curso al que ingresará
- se debe poder asignar el costo por curso y el motivo de poque se cobra diferente
Asignación de cursos a alumnos
- para cada alumno se puede asignar uno o varios cursos en caso de que sean nuevos
- una vez se seleccione el o los cursos se debe poder indicar cuales materias cursará de cada curso
- un alumno no puede cursar dos veces un mismo grado por ejemplo asignarle dos veces 1año de bachillerato
- un alumno no puede cursar dos veces la misma materia aunque sea en diferentes cursos, por ejemplo si cursa matematicas de 1er año de bachillerato entonces no puede cursar matematicas de 2do año
Asignación de evaluaciones
- el docente o sus superiores puede crear evaluaciones
- se debe poder indicar cuantos puntos de la nota final vale la evaluación en caso de que la materia se maneje por puntos
- se debe poder indicar la nota maxima permitida para la evaluación en caso de que sea numerica y en caso de que la materia se maneje por puntos entonces se debe promediar en base a cuantos puntos vale la evaluación. Por ejemplo si la evaluación vale 2pts, la nota maxima es 20 y el alumno obtuvo 10, entonces el alumno ha obtenido 1pt para su nota final
- se debe poder indicar si la evaluación es de recuperacion
- cada evaluacion debe llevar un titulo y opcionalmente una descripcion
- se debe seleccionar a que ciclo pertenece la evaluación
- la evaluacion se debe asignar a los alumnos que esten cursando la materia
- la suma de las evaluaciones no puede exceder la nota maxima permitida, sqalvo que el tipo de evaluacion sea de recuperacion
Asignacion de notas de los alumnos por evaluacion
- a partir de un listado de las evaluaciones y una vez seleccionada una el profesor puede cargar la nota que el alumno ha obtenido al presentar la evaluacion asignada
- el profesor puede agregar una observación a la nota
Cierre de ciclo
- el profesor puede hacer un cierre de ciclo de evaluaciones, lo que le permite pasar al siguiente ciclo
- cuando se cierra el ciclo se debe promediar las notas obtenias por ese ciclo por cada alumno
- en caso de que sea de recuperacion y la materia se maneje por puntos entonces el punto de esta evaluacion sera sumado a la nota final del ciclo del alumno sin exceder la nota maxima permitida. Ej la nota maxima para la materia es 20pts, el alumno lleva 19pts en el ciclo, la evaluacion vale 2pts y obtiene los 2pts, entonces al final el alumno obtendrá 20 ya que no puede exceder la nota maxima permitida
Notificación de cierre de ciclo
- una vez se haya cerrado el ciclo de partte de todos los profesores asignados a un alumno entonces se podra enviar un correo al representante del alumno con el resumen de notas
Procesos Académicos:
- Registro de notas por evaluación (con validación de lapsos y promedios automáticos).
- Cierre de lapsos (3 por año) y generación de promedios finales.
- Manejo de materias de arrastre (estudiantes cursan materias de grados anteriores).
Notificaciones con Flujo de Aprobación:
- las notificaciones pueden hacerse a uno o varios alumnos y o a uno o varios cursos
- Los profesores podran crear notificaciones a sus alumnos o cursos asginados que serán enviadas a los representantes una vez el coordinador apruebe
- mismo que el punto anterior pero creadas pór coordinador donde aprobará el director
- Tipos: Alertas académicas, citaciones, recordatorios de pagos, generales.
Modulo de pagos
- los pagos seran por mes
- se debe manejar el pago por alumno segun del cobro que se ha asignado (segun casos especiales)
- se debe poder manejar pagos parciales
- el representante podrá cargar el comprobante de pago junto con el monto y el pago quedará como pendiente de confirmación
- el director o la secretaria podran filttraar los pagos por estado y en caso de pagos pendientes por confirmación podrá marcarlos como Rechazado o Aprobado o incluso editar el monto en caso de un error, una vez se actualiza se debe enviar una notificacion al representante
Reportes:
- Históricos de notas por estudiante.
- Estadísticas de rendimiento por grado/materia.
- Exportación a PDF/Excel.
Requisitos Técnicos:
Backend: NestJS + TypeORM (MySQL) + JWT.
Frontend: Rect con typescript
Requisitos Adicionales:
Modularidad para futuras expansiones.
Documentación técnica y de usuario.
Seguridad: Encriptación de datos sensibles, logs de auditoría.
¿Cómo aplicar?
Enviar propuesta con:
- Experiencia en proyectos similares.
-Enfoque para resolver la gestión de permisos y flujos de aprobación.
Presupuesto estimado y cronograma.
Proyecto ideal para desarrolladores con experiencia en sistemas educativos y manejo de lógica académica compleja.
Se requiere desarrollar un sistema de gestión académica para instituciones educativas con las siguientes funcionalidades clave:
Gestión de Usuarios y Permisos:
- Roles: Admin Director, Asistente, Tesoreria, Coordinador, Profesor Auxiliar, Representante, Estudiante.
- Permisos granulares por rol.
- Los roles profesor y Ayudante del profesor pueden ser asignados a Grados o a Materias dependiendo de si el grado es primaria o no.
- los roles deben ser asignados por el admin y el director
Grados academicos:
- Se debe poder crear los grados academicos que maneja la intitucion y darles un orden de relevancia. Ej preescolar tiene el orden 1, Primaria tiene el orden 2, etc.
- acceso: admin, director, asistente.
Plantillas Materias:
- Se debe poder crear materias y estas van asociadas al grado academico
- Se debe poder asignar las horas semanales requeridas.
- Se debe poder asignar si requiere o no un profesor
- en caso de que requiera un profesor se puede indicar si requiere o no un auxiliar
- Se debe poder indicar si es posible cursarla como resagada en caso de reprobar (esto indica que el alumno podrá cursar el año siguiente en paralelo al grado que debe cursar)
- Se debe poder indicar si en caso de reprobar la materia entonces no puede avanzar de grado
- acceso: admin, director, asistente.
- se debe poder asignar el tipo de nota letras o numerica y en caso de numerica el valor maximo permitido
- en caso de que la nota sea numerica se debe indicar si la materia se evalua por puntos o por promedio de notas de lo contrario se realizará un promedio.
- se debe poder asignar la nota maxima
Plantillas de Grados:
- Se debe poder configurar el grado academico (preescola, primaria, secundaria, bachiller)
- Se deben poder asignar las materias a partir de la plantilla de materias que coincidan con el grado academico asignado
- se debe poder asignar las secciones disponibles para ese grado (A, B, C, D, U) que es la forma en que se representa el salon para el grado (ej: Primer grado A, Primer grado B)
- se debe poder asignar si requiere un profesor
- si se selecciona que requiere profesor entonces se puede asignar si requiere auxiliar
- acceso: admin, director, asistente.
Año escolar:
- Se debe poder configurar el año escolar ej (2025-2026) con su fecha de inicio y fecha de fin ademas de la fecha de inicio de inscripciones
- se le debe poder asignar el tipo de ciclos que manejará (lapso, semestre, trimestre, etc) y las fechas de inicio y cierre de cada uno
- acceso: admin, director, asistente.
Cursos
- debe asignarse a un año escolar previamente creado
- debe partir de la plantilla de cursos
- se debe seleccionar un profesor o auxiliar si la plantilla lo indica
- se deben cargar las materias según la plantilla de cursos y se debe poder asignar un profesor o auxiliar si las materias lo indican
- debe asignarse una seccion a partir de las opciones que maneje la plantilla y esta no debe coincidir con una previamente creada
- se debe poder asignar un coordinador
- costo por curso
Asignacion de alumnos
- el mismo representante podrá cargar la información de su representado en caso de que sea un alumno nuevo, e indicar el curso al que debe ingresar (solo como dato), pero finalmente debe ser aprobado por el director o la secretaria en caso de que sea un registro nuevo y serán estos ultimos quienes asignaran el curso
- a cada representante se le pueden asignar uno o mas alumnos y asignarles el año escolar que cursará y si la data está cargada (año escolar+curso) entonces se le podrá asignar un curso (role admin, director y secretaria)
- en caso de que el alumno no sea un ingreso nuevo entonces el representante podrá confirmar su participacion para el año estudiantil venidero confirmando el curso al que ingresará
- se debe poder asignar el costo por curso y el motivo de poque se cobra diferente
Asignación de cursos a alumnos
- para cada alumno se puede asignar uno o varios cursos en caso de que sean nuevos
- una vez se seleccione el o los cursos se debe poder indicar cuales materias cursará de cada curso
- un alumno no puede cursar dos veces un mismo grado por ejemplo asignarle dos veces 1año de bachillerato
- un alumno no puede cursar dos veces la misma materia aunque sea en diferentes cursos, por ejemplo si cursa matematicas de 1er año de bachillerato entonces no puede cursar matematicas de 2do año
Asignación de evaluaciones
- el docente o sus superiores puede crear evaluaciones
- se debe poder indicar cuantos puntos de la nota final vale la evaluación en caso de que la materia se maneje por puntos
- se debe poder indicar la nota maxima permitida para la evaluación en caso de que sea numerica y en caso de que la materia se maneje por puntos entonces se debe promediar en base a cuantos puntos vale la evaluación. Por ejemplo si la evaluación vale 2pts, la nota maxima es 20 y el alumno obtuvo 10, entonces el alumno ha obtenido 1pt para su nota final
- se debe poder indicar si la evaluación es de recuperacion
- cada evaluacion debe llevar un titulo y opcionalmente una descripcion
- se debe seleccionar a que ciclo pertenece la evaluación
- la evaluacion se debe asignar a los alumnos que esten cursando la materia
- la suma de las evaluaciones no puede exceder la nota maxima permitida, sqalvo que el tipo de evaluacion sea de recuperacion
Asignacion de notas de los alumnos por evaluacion
- a partir de un listado de las evaluaciones y una vez seleccionada una el profesor puede cargar la nota que el alumno ha obtenido al presentar la evaluacion asignada
- el profesor puede agregar una observación a la nota
Cierre de ciclo
- el profesor puede hacer un cierre de ciclo de evaluaciones, lo que le permite pasar al siguiente ciclo
- cuando se cierra el ciclo se debe promediar las notas obtenias por ese ciclo por cada alumno
- en caso de que sea de recuperacion y la materia se maneje por puntos entonces el punto de esta evaluacion sera sumado a la nota final del ciclo del alumno sin exceder la nota maxima permitida. Ej la nota maxima para la materia es 20pts, el alumno lleva 19pts en el ciclo, la evaluacion vale 2pts y obtiene los 2pts, entonces al final el alumno obtendrá 20 ya que no puede exceder la nota maxima permitida
Notificación de cierre de ciclo
- una vez se haya cerrado el ciclo de partte de todos los profesores asignados a un alumno entonces se podra enviar un correo al representante del alumno con el resumen de notas
Procesos Académicos:
- Registro de notas por evaluación (con validación de lapsos y promedios automáticos).
- Cierre de lapsos (3 por año) y generación de promedios finales.
- Manejo de materias de arrastre (estudiantes cursan materias de grados anteriores).
Notificaciones con Flujo de Aprobación:
- las notificaciones pueden hacerse a uno o varios alumnos y o a uno o varios cursos
- Los profesores podran crear notificaciones a sus alumnos o cursos asginados que serán enviadas a los representantes una vez el coordinador apruebe
- mismo que el punto anterior pero creadas pór coordinador donde aprobará el director
- Tipos: Alertas académicas, citaciones, recordatorios de pagos, generales.
Modulo de pagos
- los pagos seran por mes
- se debe manejar el pago por alumno segun del cobro que se ha asignado (segun casos especiales)
- se debe poder manejar pagos parciales
- el representante podrá cargar el comprobante de pago junto con el monto y el pago quedará como pendiente de confirmación
- el director o la secretaria podran filttraar los pagos por estado y en caso de pagos pendientes por confirmación podrá marcarlos como Rechazado o Aprobado o incluso editar el monto en caso de un error, una vez se actualiza se debe enviar una notificacion al representante
Reportes:
- Históricos de notas por estudiante.
- Estadísticas de rendimiento por grado/materia.
- Exportación a PDF/Excel.
Requisitos Técnicos:
Backend: NestJS + TypeORM (MySQL) + JWT.
Frontend: Rect con typescript
Requisitos Adicionales:
Modularidad para futuras expansiones.
Documentación técnica y de usuario.
Seguridad: Encriptación de datos sensibles, logs de auditoría.
¿Cómo aplicar?
Enviar propuesta con:
- Experiencia en proyectos similares.
-Enfoque para resolver la gestión de permisos y flujos de aprobación.
Presupuesto estimado y cronograma.
Proyecto ideal para desarrolladores con experiencia en sistemas educativos y manejo de lógica académica compleja.