How joaquincuevas/soft-g2-cursus works
CURSUS is a multiuniversity academic-management platform: users authenticate, enter a university-scoped session, and use role- and section-protected workflows for course administration and teaching. Those workflows cover course membership, section resources, attendance, announcements, and grading; dashboards and institutional administration provide broader views. PostgreSQL Row-Level Security isolates university data, while course-file storage uses S3. The graph reflects README statements and shown imports/calls; unsampled modules are represented only where their paths and subsystem are clear, and unshown links are omitted.
Main entry points: integrante-seccion.guard.ts Section membership · base-de-datos.service.ts PostgreSQL data access · auth.ts Web authentication · auth.service.ts Authentication API
Components 21
Web client
- App routes
frontend/src/App.tsx - Web authentication
frontend/src/auth/auth.ts - Session context
frontend/src/session/session.ts
Identity and security
- Authentication API
backend/src/auth/auth.service.ts - JWT access guard
backend/src/auth/jwt-auth.guard.ts - MFA security
backend/src/seguridad/mfa.service.ts - University context
backend/src/auth/universidad-actual.decorator.ts
Academic administration
- Course administration
backend/src/gestion/gestion.controller.ts - Dashboards and metrics
backend/src/dashboard/dashboard.controller.ts - University administration
backend/src/superadmin/universidades.controller.ts
Section learning
- Section membership
backend/src/espacio/integrante-seccion.guard.ts - Section space
backend/src/espacio/espacio.controller.ts - Attendance
backend/src/asistencia/asistencia.controller.ts - Grades and review
backend/src/notas/notas.controller.ts - Course materials
backend/src/materiales/materiales.controller.ts - Announcements
backend/src/anuncios/anuncios.controller.ts - File management
backend/src/archivos/archivos.controller.ts
Data and platform
- Shared API contracts
shared/src/index.ts - PostgreSQL data access
backend/src/database/base-de-datos.service.ts - S3 object storage
Other components
- University user
Connections 21
- University user → App routes: uses
frontend/src/App.tsx - App routes → Web authentication: routes through
frontend/src/App.tsx - Web authentication → Authentication API: requests login
frontend/src/auth/auth.ts - Authentication API → MFA security: checks MFA
backend/src/auth/auth.service.ts - JWT access guard → Authentication API: validates session
backend/src/auth/jwt-auth.guard.ts - Session context → Web authentication: uses auth
frontend/src/session/session.ts - Course administration → PostgreSQL data access: uses data access
backend/src/gestion/gestion.controller.ts - Section space → Section membership: guards routes
backend/src/espacio/espacio.controller.ts - Attendance → Section membership: guards routes
backend/src/asistencia/asistencia.controller.ts - Grades and review → Section membership: guards routes
backend/src/notas/notas.controller.ts - Section membership → University context: resolves context
backend/src/espacio/integrante-seccion.guard.ts - Attendance → Shared API contracts: uses types
backend/src/asistencia/asistencia.controller.ts - Course administration → Shared API contracts: uses types
backend/src/gestion/gestion.controller.ts - Grades and review → Shared API contracts: uses types
backend/src/notas/notas.controller.ts - Announcements → PostgreSQL data access: uses data access
backend/src/anuncios/anuncios.controller.ts - Announcements → Section membership: guards routes
backend/src/anuncios/anuncios.controller.ts - File management → Section membership: guards routes
backend/src/archivos/archivos.controller.ts - Dashboards and metrics → PostgreSQL data access: uses data access
backend/src/dashboard/dashboard.controller.ts - University administration → PostgreSQL data access: uses data access
- File management → S3 object storage: stores files
README.md - University context → PostgreSQL data access: scopes queries
backend/src/auth/universidad-actual.decorator.ts