How mathineitor/sistema-de-matricula works
Sistema de Matrícula Académica is a Java Swing desktop application backed by MySQL. Users enter through the main window to manage students and courses, register enrollments and withdrawals, and inspect queries, reports, and dashboard statistics. Dialogs invoke DAOs, which persist domain records through the JDBC connection layer. The README documents the product capabilities; sampled code confirms key enrollment, withdrawal, and student operations. Some unsampled screens and DAO behavior are represented from the source index and README, so their internal links are limited to documented references.
Main entry points: FrmPrincipal.java Main window · AlumnoDao.java Student DAO · CursoDao.java Course DAO · MatriculaDao.java Enrollment DAO
Components 27
Desktop interface
- Main window
src/gui/FrmPrincipal.java - Student management
src/gui/DlgMantAlumno.java - Course management
src/gui/DlgMantCurso.java - Enrollment registration
src/gui/DlgRegMatricula.java - Withdrawal registration
src/gui/DlgRegRetiro.java
Academic records
- Student model
src/clases/Alumno.java - Course model
src/clases/Curso.java - Enrollment model
src/clases/Matricula.java - Withdrawal model
src/clases/Retiro.java - Date and time
src/clases/Calendario.java - Student states
src/clases/EstadoAlumno.java
Persistence
- Student DAO
src/arreglos/AlumnoDao.java - Course DAO
src/arreglos/CursoDao.java - Enrollment DAO
src/arreglos/MatriculaDao.java - Withdrawal DAO
src/arreglos/RetiroDao.java - Dashboard DAO
src/arreglos/DashboardDao.java - JDBC connection
src/clases/Conexion.java
Queries and reporting
- Dashboard
src/gui/PnlDashboard.java - Student queries
src/gui/DlgConsultaAlumno.java - Course queries
src/gui/DlgConsultaCurso.java - Enrollment queries
src/gui/DlgConsultaMatricula.java - Withdrawal queries
src/gui/DlgConsultaRetiro.java - Status reports
src/gui/DlgReporteAMC.java - Pending report
src/gui/DlgReporteAMP.java - Current report
src/gui/DlgReporteAMV.java
Other components
- University staff
- MySQL database
database/schema.sql
Connections 48
- University staff → Main window: uses
README.md - Main window → Dashboard: opens
src/gui/FrmPrincipal.java - Main window → Student management: opens
src/gui/FrmPrincipal.java - Main window → Course management: opens
src/gui/FrmPrincipal.java - Main window → Enrollment registration: opens
src/gui/FrmPrincipal.java - Main window → Withdrawal registration: opens
src/gui/FrmPrincipal.java - Main window → Student queries: opens
src/gui/FrmPrincipal.java - Main window → Course queries: opens
src/gui/FrmPrincipal.java - Main window → Enrollment queries: opens
src/gui/FrmPrincipal.java - Main window → Withdrawal queries: opens
src/gui/FrmPrincipal.java - Main window → Status reports: opens
src/gui/FrmPrincipal.java - Main window → Pending report: opens
src/gui/FrmPrincipal.java - Main window → Current report: opens
src/gui/FrmPrincipal.java - Student management → Student DAO: calls
src/gui/DlgMantAlumno.java - Course management → Course DAO: calls
src/gui/DlgMantCurso.java - Enrollment registration → Student DAO: updates
src/gui/DlgRegMatricula.java - Enrollment registration → Course DAO: loads courses
src/gui/DlgRegMatricula.java - Enrollment registration → Enrollment DAO: registers
src/gui/DlgRegMatricula.java - Enrollment registration → Date and time: gets timestamp
src/gui/DlgRegMatricula.java - Withdrawal registration → Student DAO: updates
src/gui/DlgRegRetiro.java - Withdrawal registration → Course DAO: loads courses
src/gui/DlgRegRetiro.java - Withdrawal registration → Enrollment DAO: looks up enrollment
src/gui/DlgRegRetiro.java - Withdrawal registration → Withdrawal DAO: records withdrawal
src/gui/DlgRegRetiro.java - Withdrawal registration → Date and time: gets timestamp
src/gui/DlgRegRetiro.java - Dashboard → Dashboard DAO: loads statistics
src/gui/PnlDashboard.java - Student queries → Student DAO: queries
src/gui/DlgConsultaAlumno.java - Student queries → Course DAO: queries
src/gui/DlgConsultaAlumno.java - Student queries → Enrollment DAO: queries
src/gui/DlgConsultaAlumno.java - Course queries → Course DAO: queries
src/gui/DlgConsultaCurso.java - Course queries → Enrollment DAO: queries
src/gui/DlgConsultaCurso.java - Enrollment queries → Student DAO: queries
src/gui/DlgConsultaMatricula.java - Enrollment queries → Course DAO: queries
src/gui/DlgConsultaMatricula.java - Enrollment queries → Enrollment DAO: queries
src/gui/DlgConsultaMatricula.java - Withdrawal queries → Student DAO: queries
src/gui/DlgConsultaRetiro.java - Withdrawal queries → Course DAO: queries
src/gui/DlgConsultaRetiro.java - Withdrawal queries → Enrollment DAO: queries
src/gui/DlgConsultaRetiro.java - Withdrawal queries → Withdrawal DAO: queries
src/gui/DlgConsultaRetiro.java - Status reports → Student DAO: loads students
src/gui/DlgReporteAMC.java - Status reports → Course DAO: loads courses
src/gui/DlgReporteAMC.java - Status reports → Enrollment DAO: loads enrollments
src/gui/DlgReporteAMC.java - Status reports → Student states: uses states
src/gui/DlgReporteAMC.java - Pending report → Student DAO: loads students
src/gui/DlgReporteAMP.java - Current report → Student DAO: loads students
src/gui/DlgReporteAMV.java - Student DAO → JDBC connection: opens connection
src/arreglos/AlumnoDao.java - Course DAO → JDBC connection: opens connection
src/arreglos/CursoDao.java - Enrollment DAO → JDBC connection: opens connection
src/arreglos/MatriculaDao.java - Withdrawal DAO → JDBC connection: opens connection
src/arreglos/RetiroDao.java - Dashboard DAO → JDBC connection: opens connection
src/arreglos/DashboardDao.java