# dayn131/sistema_glotty architecture

> Architecture diagram of the GitHub repository dayn131/sistema_glotty, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-11). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/dayn131/sistema_glotty
- Repository: https://github.com/dayn131/sistema_glotty

## Overview

Glotty is a Laravel school English-course administration system. Its central workflow is coordinator setup of a term and schedules, student preregistration and payment tracking, coordinator assignment into classes, then term delivery; teacher and student areas provide related class and learner views. The excerpts show controller-to-model responsibilities and several domain relationships; routes/web.php documents routing to controllers. Reporting/document generation is a distinct capability. Unread controller and view implementations are represented at their exact tree paths, but their internal wiring is not inferred beyond documented routes and README context.

Main entry points: [`routes/web.php`](https://github.com/dayn131/sistema_glotty/blob/main/routes/web.php) (Web Routes), [`app/Http/Controllers/PeriodoController.php`](https://github.com/dayn131/sistema_glotty/blob/main/app/Http/Controllers/PeriodoController.php) (Term Lifecycle), [`app/Http/Controllers/CoordinadorGrupoController.php`](https://github.com/dayn131/sistema_glotty/blob/main/app/Http/Controllers/CoordinadorGrupoController.php) (Class Assignment), [`app/Models/Periodo.php`](https://github.com/dayn131/sistema_glotty/blob/main/app/Models/Periodo.php) (Terms)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_operations["Academic Operations"]
  node_term_admin["Term Lifecycle"]
  node_terms[("Terms<br/>[Periodo.php]")]
  node_schedule_admin["Schedule Setup"]
  node_schedules[("Schedules<br/>[Horario.php]")]
  node_term_schedules[("Term Schedules<br/>[HorarioPeriodo.php]")]
  node_rooms["Room Management<br/>[AulaController.php]"]
  node_room_data[("Rooms<br/>[Aula.php]")]
  node_group_admin["Class Assignment"]
  node_groups[("Class Groups<br/>[Grupo.php]")]
  node_teacher_records[("Teacher Records<br/>[Profesor.php]")]
  node_documents["Reports and Documents"]
end

subgraph group_enrollment["Enrollment"]
  node_preregistration["Student Preregistration"]
  node_enrollment_admin["Enrollment Administration"]
  node_enrollments[("Enrollment Records<br/>[Preregistro.php]")]
end

subgraph group_learning["Learning Portals"]
  node_student_area["Student Portal"]
  node_teacher_area["Teacher Portal"]
end

subgraph group_identity["Identity and Records"]
  node_web["Web Routes<br/>[web.php]"]
  node_auth["Authentication<br/>[AuthController.php]"]
  node_user_data[("User Accounts<br/>[Usuario.php]")]
  node_user_admin["User Administration"]
end

node_coordinator(("Coordinator"))
node_student(("Student"))
node_teacher(("Teacher"))

node_coordinator -->|"uses routes"| node_web
node_student -->|"uses routes"| node_web
node_teacher -->|"uses routes"| node_web
node_web -->|"routes to"| node_auth
node_web -->|"routes to"| node_term_admin
node_web -->|"routes to"| node_schedule_admin
node_web -->|"routes to"| node_rooms
node_web -->|"routes to"| node_group_admin
node_web -->|"routes to"| node_preregistration
node_web -->|"routes to"| node_enrollment_admin
node_web -->|"routes to"| node_student_area
node_web -->|"routes to"| node_teacher_area
node_web -->|"routes to"| node_documents
node_web -->|"routes to"| node_user_admin
node_auth -->|"reads and writes"| node_user_data
node_term_admin -->|"manages"| node_terms
node_term_admin -->|"selects"| node_schedules
node_term_admin -->|"manages"| node_term_schedules
node_term_admin -->|"checks availability"| node_room_data
node_term_admin -->|"checks teachers"| node_teacher_records
node_schedule_admin -->|"manages"| node_schedules
node_rooms -->|"manages"| node_room_data
node_rooms -->|"checks usage"| node_groups
node_group_admin -->|"creates and assigns"| node_groups
node_group_admin -->|"queries"| node_terms
node_group_admin -->|"selects"| node_term_schedules
node_group_admin -->|"validates rooms"| node_room_data
node_group_admin -->|"selects teachers"| node_teacher_records
node_preregistration -->|"creates records"| node_enrollments
node_preregistration -->|"checks term status"| node_terms
node_preregistration -->|"offers schedules"| node_term_schedules
node_enrollment_admin -->|"filters and updates"| node_enrollments
node_enrollment_admin -->|"queries"| node_terms
node_enrollment_admin -->|"lists groups"| node_groups
node_enrollment_admin -->|"reads schedules"| node_term_schedules
node_student_area -->|"reads profiles"| node_user_data
node_student_area -->|"reads enrollments"| node_enrollments
node_student_area -->|"checks term"| node_terms
node_documents -->|"reads group data"| node_groups
node_documents -->|"reads enrollment data"| node_enrollments
node_documents -->|"reads term data"| node_terms
node_user_admin -->|"manages accounts"| node_user_data
node_user_admin -->|"reads history"| node_enrollments
node_user_admin -->|"queries"| node_terms
node_teacher_area -.->|"serves class views"| node_groups

click node_web "https://github.com/dayn131/sistema_glotty/blob/main/routes/web.php"
click node_auth "https://github.com/dayn131/sistema_glotty/blob/main/app/Http/Controllers/AuthController.php"
click node_user_data "https://github.com/dayn131/sistema_glotty/blob/main/app/Models/Usuario.php"
click node_term_admin "https://github.com/dayn131/sistema_glotty/blob/main/app/Http/Controllers/PeriodoController.php"
click node_terms "https://github.com/dayn131/sistema_glotty/blob/main/app/Models/Periodo.php"
click node_schedule_admin "https://github.com/dayn131/sistema_glotty/blob/main/app/Http/Controllers/HorarioController.php"
click node_schedules "https://github.com/dayn131/sistema_glotty/blob/main/app/Models/Horario.php"
click node_term_schedules "https://github.com/dayn131/sistema_glotty/blob/main/app/Models/HorarioPeriodo.php"
click node_rooms "https://github.com/dayn131/sistema_glotty/blob/main/app/Http/Controllers/AulaController.php"
click node_room_data "https://github.com/dayn131/sistema_glotty/blob/main/app/Models/Aula.php"
click node_group_admin "https://github.com/dayn131/sistema_glotty/blob/main/app/Http/Controllers/CoordinadorGrupoController.php"
click node_groups "https://github.com/dayn131/sistema_glotty/blob/main/app/Models/Grupo.php"
click node_teacher_records "https://github.com/dayn131/sistema_glotty/blob/main/app/Models/Profesor.php"
click node_preregistration "https://github.com/dayn131/sistema_glotty/blob/main/app/Http/Controllers/PreregistroController.php"
click node_enrollment_admin "https://github.com/dayn131/sistema_glotty/blob/main/app/Http/Controllers/CoordinadorPreregistroController.php"
click node_enrollments "https://github.com/dayn131/sistema_glotty/blob/main/app/Models/Preregistro.php"
click node_student_area "https://github.com/dayn131/sistema_glotty/blob/main/app/Http/Controllers/AlumnoController.php"
click node_teacher_area "https://github.com/dayn131/sistema_glotty/blob/main/app/Http/Controllers/ProfesorController.php"
click node_documents "https://github.com/dayn131/sistema_glotty/blob/main/app/Http/Controllers/DocumentoController.php"
click node_user_admin "https://github.com/dayn131/sistema_glotty/blob/main/app/Http/Controllers/UsuarioController.php"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_term_admin,node_terms,node_schedule_admin,node_schedules,node_term_schedules,node_rooms,node_room_data,node_group_admin,node_groups,node_teacher_records,node_documents toneBlue
class node_preregistration,node_enrollment_admin,node_enrollments toneAmber
class node_student_area,node_teacher_area toneMint
class node_web,node_auth,node_user_data,node_user_admin toneRose
class node_coordinator,node_student,node_teacher toneIndigo
```

## Components

### Academic Operations

- [Term Lifecycle](https://github.com/dayn131/sistema_glotty/blob/main/app/Http/Controllers/PeriodoController.php): `app/Http/Controllers/PeriodoController.php`
- [Terms](https://github.com/dayn131/sistema_glotty/blob/main/app/Models/Periodo.php): `app/Models/Periodo.php`
- [Schedule Setup](https://github.com/dayn131/sistema_glotty/blob/main/app/Http/Controllers/HorarioController.php): `app/Http/Controllers/HorarioController.php`
- [Schedules](https://github.com/dayn131/sistema_glotty/blob/main/app/Models/Horario.php): `app/Models/Horario.php`
- [Term Schedules](https://github.com/dayn131/sistema_glotty/blob/main/app/Models/HorarioPeriodo.php): `app/Models/HorarioPeriodo.php`
- [Room Management](https://github.com/dayn131/sistema_glotty/blob/main/app/Http/Controllers/AulaController.php): `app/Http/Controllers/AulaController.php`
- [Rooms](https://github.com/dayn131/sistema_glotty/blob/main/app/Models/Aula.php): `app/Models/Aula.php`
- [Class Assignment](https://github.com/dayn131/sistema_glotty/blob/main/app/Http/Controllers/CoordinadorGrupoController.php): `app/Http/Controllers/CoordinadorGrupoController.php`
- [Class Groups](https://github.com/dayn131/sistema_glotty/blob/main/app/Models/Grupo.php): `app/Models/Grupo.php`
- [Teacher Records](https://github.com/dayn131/sistema_glotty/blob/main/app/Models/Profesor.php): `app/Models/Profesor.php`
- [Reports and Documents](https://github.com/dayn131/sistema_glotty/blob/main/app/Http/Controllers/DocumentoController.php): `app/Http/Controllers/DocumentoController.php`

### Enrollment

- [Student Preregistration](https://github.com/dayn131/sistema_glotty/blob/main/app/Http/Controllers/PreregistroController.php): `app/Http/Controllers/PreregistroController.php`
- [Enrollment Administration](https://github.com/dayn131/sistema_glotty/blob/main/app/Http/Controllers/CoordinadorPreregistroController.php): `app/Http/Controllers/CoordinadorPreregistroController.php`
- [Enrollment Records](https://github.com/dayn131/sistema_glotty/blob/main/app/Models/Preregistro.php): `app/Models/Preregistro.php`

### Learning Portals

- [Student Portal](https://github.com/dayn131/sistema_glotty/blob/main/app/Http/Controllers/AlumnoController.php): `app/Http/Controllers/AlumnoController.php`
- [Teacher Portal](https://github.com/dayn131/sistema_glotty/blob/main/app/Http/Controllers/ProfesorController.php): `app/Http/Controllers/ProfesorController.php`

### Identity and Records

- [Web Routes](https://github.com/dayn131/sistema_glotty/blob/main/routes/web.php): `routes/web.php`
- [Authentication](https://github.com/dayn131/sistema_glotty/blob/main/app/Http/Controllers/AuthController.php): `app/Http/Controllers/AuthController.php`
- [User Accounts](https://github.com/dayn131/sistema_glotty/blob/main/app/Models/Usuario.php): `app/Models/Usuario.php`
- [User Administration](https://github.com/dayn131/sistema_glotty/blob/main/app/Http/Controllers/UsuarioController.php): `app/Http/Controllers/UsuarioController.php`

### Other components

- **Coordinator**
- **Student**
- **Teacher**

## Connections

- Coordinator → Web Routes: uses routes (evidence: `routes/web.php`)
- Student → Web Routes: uses routes (evidence: `routes/web.php`)
- Teacher → Web Routes: uses routes (evidence: `routes/web.php`)
- Web Routes → Authentication: routes to (evidence: `routes/web.php`)
- Web Routes → Term Lifecycle: routes to (evidence: `routes/web.php`)
- Web Routes → Schedule Setup: routes to (evidence: `routes/web.php`)
- Web Routes → Room Management: routes to (evidence: `routes/web.php`)
- Web Routes → Class Assignment: routes to (evidence: `routes/web.php`)
- Web Routes → Student Preregistration: routes to (evidence: `routes/web.php`)
- Web Routes → Enrollment Administration: routes to (evidence: `routes/web.php`)
- Web Routes → Student Portal: routes to (evidence: `routes/web.php`)
- Web Routes → Teacher Portal: routes to (evidence: `routes/web.php`)
- Web Routes → Reports and Documents: routes to (evidence: `routes/web.php`)
- Web Routes → User Administration: routes to (evidence: `routes/web.php`)
- Authentication → User Accounts: reads and writes (evidence: `app/Http/Controllers/AuthController.php`)
- Term Lifecycle → Terms: manages (evidence: `app/Http/Controllers/PeriodoController.php`)
- Term Lifecycle → Schedules: selects (evidence: `app/Http/Controllers/PeriodoController.php`)
- Term Lifecycle → Term Schedules: manages (evidence: `app/Http/Controllers/PeriodoController.php`)
- Term Lifecycle → Rooms: checks availability (evidence: `app/Http/Controllers/PeriodoController.php`)
- Term Lifecycle → Teacher Records: checks teachers (evidence: `app/Http/Controllers/PeriodoController.php`)
- Schedule Setup → Schedules: manages (evidence: `app/Http/Controllers/HorarioController.php`)
- Room Management → Rooms: manages (evidence: `app/Http/Controllers/AulaController.php`)
- Room Management → Class Groups: checks usage (evidence: `app/Http/Controllers/AulaController.php`)
- Class Assignment → Class Groups: creates and assigns (evidence: `app/Http/Controllers/CoordinadorGrupoController.php`)
- Class Assignment → Terms: queries (evidence: `app/Http/Controllers/CoordinadorGrupoController.php`)
- Class Assignment → Term Schedules: selects (evidence: `app/Http/Controllers/CoordinadorGrupoController.php`)
- Class Assignment → Rooms: validates rooms (evidence: `app/Http/Controllers/CoordinadorGrupoController.php`)
- Class Assignment → Teacher Records: selects teachers (evidence: `app/Http/Controllers/CoordinadorGrupoController.php`)
- Student Preregistration → Enrollment Records: creates records (evidence: `app/Http/Controllers/PreregistroController.php`)
- Student Preregistration → Terms: checks term status (evidence: `app/Http/Controllers/PreregistroController.php`)
- Student Preregistration → Term Schedules: offers schedules (evidence: `app/Http/Controllers/PreregistroController.php`)
- Enrollment Administration → Enrollment Records: filters and updates (evidence: `app/Http/Controllers/CoordinadorPreregistroController.php`)
- Enrollment Administration → Terms: queries (evidence: `app/Http/Controllers/CoordinadorPreregistroController.php`)
- Enrollment Administration → Class Groups: lists groups (evidence: `app/Http/Controllers/CoordinadorPreregistroController.php`)
- Enrollment Administration → Term Schedules: reads schedules (evidence: `app/Http/Controllers/CoordinadorPreregistroController.php`)
- Student Portal → User Accounts: reads profiles (evidence: `app/Http/Controllers/AlumnoController.php`)
- Student Portal → Enrollment Records: reads enrollments (evidence: `app/Http/Controllers/AlumnoController.php`)
- Student Portal → Terms: checks term (evidence: `app/Http/Controllers/AlumnoController.php`)
- Reports and Documents → Class Groups: reads group data (evidence: `app/Http/Controllers/DocumentoController.php`)
- Reports and Documents → Enrollment Records: reads enrollment data (evidence: `app/Http/Controllers/DocumentoController.php`)
- Reports and Documents → Terms: reads term data (evidence: `app/Http/Controllers/DocumentoController.php`)
- User Administration → User Accounts: manages accounts (evidence: `app/Http/Controllers/UsuarioController.php`)
- User Administration → Enrollment Records: reads history (evidence: `app/Http/Controllers/UsuarioController.php`)
- User Administration → Terms: queries (evidence: `app/Http/Controllers/UsuarioController.php`)
- Teacher Portal → Class Groups: serves class views
