Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/miagv/PlataformaEduca/llms.txt

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

PlataformaEduca stores all data in a MySQL 8 database named plataforma_educativa. Hibernate manages the schema automatically via spring.jpa.hibernate.ddl-auto=update — no manual migration scripts are required. On first startup, the DataInitializer component inserts a baseline set of roles, users, grade levels, classrooms, and courses.

Requirements

  • MySQL 8.x or higher
  • Schema name: plataforma_educativa
Create the schema before starting the server:
mysql -u root -p -e "CREATE DATABASE plataforma_educativa;"

Table reference

The tables below are created automatically by Hibernate on first startup.

User and authentication tables

Stores all user accounts.
ColumnTypeNotes
idbigintPrimary key, auto-increment
nombresvarcharFirst name(s)
apellidosvarcharLast name(s)
emailvarcharUnique; used as login identifier
passwordvarcharBCrypt hash
activobooleanWhether the account is active
Defines the available roles. Seeded automatically on first startup.
ColumnTypeNotes
idbigintPrimary key, auto-increment
nombrevarcharRole name
Seeded values: USER, ADMIN, COORDINADOR, DOCENTE, ESTUDIANTE
Join table for the many-to-many relationship between usuarios and roles.
ColumnTypeNotes
usuario_idbigintForeign key → usuarios.id
rol_idbigintForeign key → roles.id

Role-specific profile tables

One record per user with the COORDINADOR role.
ColumnTypeNotes
idbigintPrimary key, auto-increment
areavarcharAdministrative area
usuario_idbigintForeign key → usuarios.id
One record per user with the DOCENTE role.
ColumnTypeNotes
idbigintPrimary key, auto-increment
especialidadvarcharTeaching specialty
usuario_idbigintForeign key → usuarios.id
One record per user with the ESTUDIANTE role.
ColumnTypeNotes
idbigintPrimary key, auto-increment
codigovarcharStudent code
grado_idbigintForeign key → grados.id
usuario_idbigintForeign key → usuarios.id

Academic structure tables

Grade levels for students.
ColumnTypeNotes
idbigintPrimary key, auto-increment
nombrevarcharGrade name
seccionvarcharSection identifier
Seeded values: 1ro Secundaria A, 2do Secundaria B
Physical classrooms and labs.
ColumnTypeNotes
idbigintPrimary key, auto-increment
nombrevarcharRoom name
capacidadintStudent capacity
ubicacionvarcharPhysical location
Seeded values: Aula 101, Laboratorio A
Course catalog.
ColumnTypeNotes
idbigintPrimary key, auto-increment
nombrevarcharCourse name
descripcionvarcharCourse description
creditosintCredit value
estadobooleanWhether the course is active. Defaults to true.
Seeded values: Matemáticas (4 credits), Comunicación (3 credits)
Academic periods (semesters, quarters, etc.).
ColumnTypeNotes
idbigintPrimary key, auto-increment
nombrevarcharPeriod name
fechaIniciodateStart date
fechaFindateEnd date
activobooleanWhether the period is current

Assignment and grading tables

Links a teacher to a course, classroom, and academic period.
ColumnTypeNotes
idbigintPrimary key, auto-increment
docente_idbigintForeign key → docentes.id
curso_idbigintForeign key → cursos.id
salon_idbigintForeign key → salones.id
periodo_idbigintForeign key → periodos.id
Assessment definitions linked to a course and teacher assignment.
ColumnTypeNotes
idbigintPrimary key, auto-increment
titulovarcharAssessment title
porcentajedecimalWeight as a percentage of the final grade
fechadateAssessment date
curso_idbigintForeign key → cursos.id
asignacion_docente_idbigintForeign key → asignaciones_docentes.id
Individual student grades for each assessment.
ColumnTypeNotes
idbigintPrimary key, auto-increment
notadecimalNumeric grade
observacionvarcharOptional teacher comment
evaluacion_idbigintForeign key → evaluaciones.id
estudiante_idbigintForeign key → estudiantes.id

Seed data

The DataInitializer component runs once on first startup and inserts the following accounts:
EmailPasswordRole
admin@gmail.comadmin123ADMIN
coord@gmail.comcoord123COORDINADOR
profe@gmail.comprofe123DOCENTE
alumno@gmail.comalumno123ESTUDIANTE
The seed accounts use simple passwords suitable for local development only. Change or disable them before deploying to any environment accessible from the internet.
In addition to users, the seeder inserts two grade levels (1ro Secundaria A, 2do Secundaria B), two classrooms (Aula 101, Laboratorio A), and two courses (Matemáticas with 4 credits, Comunicación with 3 credits).

Build docs developers (and LLMs) love