academia/docs/architecture/diagrams/08-c4-context.puml

80 lines
1.9 KiB
Plaintext
Raw Normal View History

@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