Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/LuisAMoralesA/tallerIngles-UAEMEcatepec/llms.txt

Use this file to discover all available pages before exploring further.

The TEI system exposes 18 Jakarta EE servlets annotated with @WebServlet. All servlets live in the controller.servlet package. The application context root is /tallerDeInglesUAEM/; every URL below is relative to that context root, as declared in Constantes.Servlets. Most servlets implement a unified processRequest method that is delegated to by both doGet and doPost, so they accept either HTTP method unless noted otherwise.

Autenticación

POST /loginAdmin

Authenticates a school administrator.
POST /tallerDeInglesUAEM/loginAdmin
Parámetros de formulario
ParámetroTipoDescripción
userStringNombre de usuario
passStringContraseña en texto plano (será hasheada internamente)
submitStringLa presencia de este campo activa la validación de credenciales
Calls BaseDatos.inicioSesion(user, pass, "ADMINISTRADOR"). On ACCESO_CONCEDIDO (3), stores session attributes sesionIniciada, rango, and id_user, then redirects to view/principal/menuAdministrador.jsp. On failure, redirects back to the login page with an error message in the session.

POST /loginTeacher

Authenticates a teacher. Identical flow to /loginAdmin but uses role "PROFESOR" and redirects to view/principal/menuProfesor.jsp.
POST /tallerDeInglesUAEM/loginTeacher
ParámetroTipoDescripción
userStringNombre de usuario
passStringContraseña en texto plano
submitStringActiva la validación

POST /loginStudent

Authenticates a student. Uses role "ESTUDIANTE" and redirects to view/principal/menuAlumno.jsp.
POST /tallerDeInglesUAEM/loginStudent
ParámetroTipoDescripción
userStringNombre de usuario
passStringContraseña en texto plano
submitStringActiva la validación

GET /cerrarSesion

Invalidates the current HTTP session and redirects the browser to the public index page (/tallerDeInglesUAEM/index.html). No request parameters required.

Alta de registros

POST /addAdmin

Registers a new administrator. Generates the username deterministically from the supplied personal data, hashes the password with SHA-256, inserts a users row, and then inserts an admin_school row.
POST /tallerDeInglesUAEM/addAdmin
ParámetroTipoDescripción
apaternoStringApellido paterno (convertido a mayúsculas)
amaternoStringApellido materno (convertido a mayúsculas)
nameStringNombre(s) de pila (convertido a mayúsculas)
birthdateStringFecha de nacimiento en formato YYYY-MM-DD
phoneStringNúmero de teléfono
emailStringCorreo electrónico
password1StringContraseña (primera entrada)
password2StringConfirmación de contraseña
Redirects to view/listas/listaAdministradores.jsp on success, or back to the form on password mismatch.

POST /addTeacher

Registers a new teacher. Generates username, hashes password, inserts users, then inserts teachers. If id_group is 0, id_group_teacher is stored as NULL.
POST /tallerDeInglesUAEM/addTeacher
ParámetroTipoDescripción
apaternoStringApellido paterno
amaternoStringApellido materno
nameStringNombre(s) de pila
birthdateStringFecha de nacimiento (YYYY-MM-DD)
phoneStringNúmero de teléfono
emailStringCorreo electrónico
statusStringEstado: Activo o Inactivo
grupointID del grupo asignado (0 = sin grupo)
classroomStringIdentificador del salón
password1StringContraseña (primera entrada)
password2StringConfirmación de contraseña
Redirects to view/listas/listaProfesores.jsp on success.

POST /addStudent

Enrolls a new student. This servlet performs a multi-step atomic sequence: (1) generate username, (2) check for duplicates, (3) insert users, (4) insert payment (all flags false) and capture generated id_payment, (5) insert report (all grades 0.0) and capture generated id_report, (6) insert students linking both IDs. The student starts unassigned to any teacher/group (id_teacher_student = NULL).
POST /tallerDeInglesUAEM/addStudent
ParámetroTipoDescripción
apaternoStringApellido paterno
amaternoStringApellido materno
nameStringNombre(s) de pila
birthdateStringFecha de nacimiento (YYYY-MM-DD)
phoneStringTeléfono (usado para telefono1_student y telefono2_student)
emailStringCorreo electrónico
sale_soloString"1" si sale solo del plantel, "0" si no
password1StringContraseña (primera entrada)
password2StringConfirmación de contraseña
Generación de username: apaterno[0..1] + amaterno[0] + name[0..2] + YY + MM + DD (from birthdate). If that username already exists, the servlet redirects back with a warning rather than creating a duplicate. Redirects to view/listas/listaAlumnos.jsp on success.

POST /addGroup

Creates a new class group.
POST /tallerDeInglesUAEM/addGroup
ParámetroTipoDescripción
gradeintID del nivel académico (grade.id_grade)
levelintNúmero de nivel dentro del grado
categoryintID de la categoría (category.id_category)
The classroom_group field is not accepted as a form parameter — it is hardcoded to "null" by the servlet and stored as the string "null" in the database. Use the actualizarGrupos method (via the edit group flow) to assign a real classroom identifier after creation.
Redirects to view/listas/listaGrupos.jsp.

POST /registerStudent

Student self-registration endpoint (limited use — not exposed in the main admin UI). Accepts the same personal-data parameters as /addStudent except sale_solo — the self-registration flow always defaults sale_solo to false. Used for public enrollment flows.

Actualización

POST /updateInfo

Updates personal data for a student, teacher, or administrator. The rango parameter controls which entity is updated and which actualizar* method is called.
POST /tallerDeInglesUAEM/updateInfo
Parámetros comunes
ParámetroTipoDescripción
rangoStringTipo de entidad: ESTUDIANTE, ADMINISTRADOR, o PROFESOR
idprincipalintPK de la entidad en su tabla propia (id_student, id_admin, o id_teacher)
iduserintFK a users.id_user
apaternoStringApellido paterno
amaternoStringApellido materno
nombreStringNombre(s) de pila
birthdateStringFecha de nacimiento (YYYY-MM-DD)
phone1StringTeléfono principal
emailStringCorreo electrónico
Parámetros adicionales por tipo
rangoParámetros extra
ESTUDIANTEidprofesor (int), phone2 (String), sale_solo ("1"/"0")
PROFESORstatus (String), grupo (int), classroom (String)
ADMINISTRADOR(ninguno adicional)
Redirects to the appropriate list view (admin-initiated) or dashboard (self-update) depending on the rango stored in the current session.

POST /updateUser

Updates access credentials (nom_user, password, rango) in the users table.
POST /tallerDeInglesUAEM/updateUser
ParámetroTipoDescripción
iduserintIdentificador del usuario a actualizar (users.id_user)
usernameStringNuevo nombre de usuario
password1StringNueva contraseña
password2StringConfirmación de nueva contraseña
rangoStringNuevo rol del usuario (ESTUDIANTE, ADMINISTRADOR, o PROFESOR)

POST /updateGrade

Updates a student’s grade record. Automatically calculates avg_report = (firstPartial + secondPartial) / 2.
POST /tallerDeInglesUAEM/updateGrade
ParámetroTipoDescripción
idGradeintreport.id_report del registro a actualizar
firstPartialdoubleCalificación del primer parcial
secondPartialdoubleCalificación del segundo parcial
nombreCompletoStringNombre completo del alumno (para mensaje de confirmación)
Redirects to listaAlumnos.jsp if the session role is ADMINISTRADOR, or to asignarCalificaciones.jsp if the session role is PROFESOR.

POST /updatePay

Updates the payment tracking record for a student. Boolean flags are read from form parameters using null-safe comparison ("1".equals(...)).
POST /tallerDeInglesUAEM/updatePay
ParámetroTipoDescripción
idPaymentintpayment.id_payment del registro a actualizar
mensualidadInscripcionString"1" si pagada, ausente si no
mensualidad1mensualidad7String"1" si cada mensualidad está pagada, ausente si no
statusintNuevo payment_status.id_status
nombreCompletoStringNombre completo del alumno (para mensaje de confirmación)
Redirects to view/listas/listaAlumnos.jsp.

POST /updateSchedule

Updates a single entry in the payment calendar (pay_simbology).
POST /tallerDeInglesUAEM/updateSchedule
ParámetroTipoDescripción
id_payintID de la entrada del calendario (pay_simbology.id_pay)
mesStringNombre del mes (pay_simbology.month)
descripcionStringDescripción del concepto de pago (pay_simbology.description_pay)
mensualidaddoubleCosto en pesos (pay_simbology.cost_pay)
periodoStringSemestre: Periodo A, Periodo B, o Cualquiera (pay_simbology.period_pay)
deadlineStringFecha límite en formato YYYY-MM-DD, o vacío/"null" para almacenar NULL
Redirects to view/pagos/calendario.jsp.

POST /updatePeriodo

Switches the active semester for all non-universal calendar entries. Reads the current period from the first calendar entry and calls actualizarCalendario(String periodoActual).
POST /tallerDeInglesUAEM/updatePeriodo
No additional request parameters required — the current period is determined server-side. If the current value is Periodo A, all affected rows are switched to Periodo B, and vice versa.

Eliminación

POST /deleteInformation

Deletes an entity by type code and ID, automatically running the appropriate devinculación steps before the actual DELETE.
POST /tallerDeInglesUAEM/deleteInformation
ParámetroTipoDescripción
rangoStringTipo de entidad: "a" (admin), "s" (student), "t" (teacher), "g" (group)
idintPK de la entidad en su tabla propia
userintusers.id_user asociado — requerido para "a", "s", y "t"
Deletion sequences enforced by this servlet:
rangoSecuencia
"a"eliminarAdministradoreliminarUsuario
"s"eliminarAlumnoeliminarListaDePagoeliminarListaCalificacioneseliminarUsuario
"t"desvincularAlumnoseliminarTeachereliminarUsuario
"g"desvincularProfesoreseliminarGrupo
Redirects to the list view corresponding to the deleted entity type.

Documentos y respaldo

GET /reportesServlet

Generates and streams a PDF report using JasperReports. The type of report is determined by which query parameter is present in the request. Resolves the .jasper file path via getServletContext().getRealPath(...).
GET /tallerDeInglesUAEM/reportesServlet
ParámetroTipoDescripción
Attendanceintteachers.id_teacher — genera Bitácora de Alumnos del grupo
Paymentintteachers.id_teacher — genera Lista de Seguimiento de Pago
Gradeintteachers.id_teacher — genera Lista de Calificaciones
(ninguno)Genera Bitácora de Profesores (sin parámetro requerido)
cStringIdentificador del salón — requerido para Attendance y Payment
The nombre_grupo, nombre_profesor, and periodoActual values are assembled server-side from BaseDatos queries. See reference/reports for full method-level documentation.

GET /backupServlet

Exports a data backup as a downloadable file. The format is determined by the type query parameter. The filename is auto-generated with the current year and active period (e.g. Respaldo_TEI_2025_Periodo_A.xlsx).
GET /tallerDeInglesUAEM/backupServlet
ParámetroValorContent-TypeDescripción
typeexcelapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheetWorkbook .xlsx con 4 hojas
typesqltext/sqlDump completo via mysqldump
Both formats are streamed via Content-Disposition: attachment and written directly to response.getOutputStream(). See reference/backup for full implementation details.

Build docs developers (and LLMs) love