Students have a read-oriented experience within the system. They can view the courses they are enrolled in, submit academic requests, and browse the enrollment history stack — but they cannot modify the course catalog, manage other students’ records, or perform any enrollment operations. All data shown in student-facing panels is automatically filtered to the authenticated student’s own carnet.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/kenri89/PROYECTO_UTP_AED_1_1/llms.txt
Use this file to discover all available pages before exploring further.
Available Panels
Mis cursos matriculados
Opens The panel calls
PanelMisMatriculas, which filters the shared ListaMatricula to display only the courses linked to the logged-in student’s carnet:ListaMatricula.buscarPorCarnet(carnet) internally to retrieve the filtered enrollment list. Students cannot view or modify enrollments belonging to other carnets.Solicitudes
Opens
PanelSolicitudesEstudiante, where students can submit new academic requests and track the status of existing ones. Requests are added to the shared Queue<Solicitud> (colaSolicitudes) and later resolved by an administrator through the Atender Solicitudes panel.Historial Académico
Opens
PanelHistorial, a read-only view of the PilaAcciones_U3 stack. Students can inspect the chronological history of all enrollment actions. The carnet array passed to the panel is derived from the full ArbolEstudiantes in-order traversal, but student users are expected only to review their own records.Panels Not Accessible to Students
The following buttons are hidden when the authenticated user is a student:| Panel | Visibility Rule |
|---|---|
| Gestión de Cursos | esAdmin || esSecretaria — students excluded |
| Gestión de Estudiantes | esAdmin || esSecretaria — students excluded |
| Matrícula | esAdmin || esSecretaria — students excluded |
| Atender Solicitudes | esAdmin only |
Authentication
Students authenticate using their carnet as the username and the fixed password"1234". This is verified by CuentasEstudiantes.autenticar(), which reads from a local plain-text file rather than the SQL Server database:
PASSWORD_DEFECTO.
Account Auto-Creation
Students do not self-register.CuentasEstudiantes.registrarPorMatricula(carnet) is called in two places to keep the accounts file up to date:
- During enrollment — when a secretary or administrator enrolls a student through the Matrícula panel (
PanelMatricula), the method is called immediately after the enrollment is recorded successfully. - On application startup — when
PersistenciaAcademica.cargar()loads persisted data from disk, it iterates over every saved enrollment and callsregistrarPorMatriculafor each one, ensuring the accounts file remains consistent after a restart.
A student account is created the first time the student is enrolled. Until that enrollment occurs, the carnet is not present in the accounts file and the student cannot log in.
The Usuario Object for Students
When a student successfully authenticates, UsuarioDAO constructs the Usuario object with the carnet field populated:
MenuPrincipal via usuarioActual.getCarnet() to filter enrollment data in PanelMisMatriculas.
Compare this with the Usuario constructor used for admin and secretary accounts, where carnet is null: