80 lines
1.9 KiB
Plaintext
80 lines
1.9 KiB
Plaintext
@startuml c4-context
|
|
!theme plain
|
|
skinparam rectangleBackgroundColor #F8F9FA
|
|
skinparam rectangleBorderColor #495057
|
|
|
|
title Sistema de Registro de Estudiantes - Diagrama de Contexto (C4 Level 1)
|
|
|
|
skinparam rectangle {
|
|
RoundCorner 10
|
|
}
|
|
|
|
actor "Estudiante" as student <<Persona>>
|
|
actor "Administrador" as admin <<Persona>>
|
|
|
|
rectangle "Sistema de Inscripción\nAcadémica" as system <<Software System>> #lightblue {
|
|
}
|
|
|
|
rectangle "Base de Datos\nSQL Server" as database <<External System>> #lightgray {
|
|
}
|
|
|
|
rectangle "Servidor SMTP\n(Email)" as smtp <<External System>> #lightgray {
|
|
}
|
|
|
|
student --> system : Se registra, activa cuenta,\nse inscribe en materias,\nve compañeros de clase
|
|
admin --> system : Gestiona estudiantes\n(CRUD completo)
|
|
system --> database : Lee y escribe\ndatos de usuarios,\nestudiantes e inscripciones
|
|
system --> smtp : Envía códigos\nde activación
|
|
|
|
note right of student
|
|
<b>Estudiante</b>
|
|
Usuario del sistema que:
|
|
- Se registra y activa cuenta
|
|
- Se inscribe en materias (máx 3)
|
|
- Ve sus compañeros de clase
|
|
- Consulta sus inscripciones
|
|
- Accede a su dashboard personal
|
|
end note
|
|
|
|
note left of admin
|
|
<b>Administrador</b>
|
|
Usuario privilegiado que:
|
|
- Gestiona todos los estudiantes
|
|
- Crea, edita, elimina registros
|
|
- Visualiza todo el sistema
|
|
end note
|
|
|
|
note right of system
|
|
<b>Sistema de Inscripción Académica</b>
|
|
Aplicación web que permite:
|
|
- Autenticación (JWT + PBKDF2)
|
|
- CRUD de estudiantes
|
|
- Inscripción en materias
|
|
- Validación de reglas de negocio
|
|
- Visualización de compañeros
|
|
|
|
<b>Stack:</b>
|
|
Frontend: Angular 21
|
|
Backend: .NET 10 + GraphQL
|
|
Auth: JWT + Roles (Admin/Student)
|
|
end note
|
|
|
|
note right of database
|
|
<b>SQL Server 2022</b>
|
|
Almacena:
|
|
- Usuarios (auth)
|
|
- Estudiantes
|
|
- Profesores
|
|
- Materias
|
|
- Inscripciones
|
|
end note
|
|
|
|
note right of smtp
|
|
<b>Servicio de Email</b>
|
|
Para:
|
|
- Códigos de activación
|
|
- Notificaciones
|
|
end note
|
|
|
|
@enduml
|