Saltar a contenido

Visión general

SmartAid es una aplicación Django servida con ASGI. Tiene portal público, panel administrativo, WebSocket para notificaciones y persistencia principal en PostgreSQL.

Componentes

flowchart LR
    Portal[Portal público /portal] --> Django[Django + Daphne]
    Panel[Panel /panel] --> Django
    Django --> Postgres[(PostgreSQL)]
    Django --> Redis[(Redis Channels)]
    Django --> Media[Media local o storage configurado]
    Redis --> WS[WebSocket notificaciones]
Carpeta Responsabilidad
config/ Settings, URLs raíz, ASGI/WSGI.
apps/core Tenant, auditoría, seguridad, búsqueda, docs y utilidades.
apps/usuarios Login, usuarios, dashboard y métricas.
apps/convocatorias Convocatorias, reglas y preguntas adicionales.
apps/solicitantes Portal público, solicitantes, expedientes y documentos.
apps/evaluacion Scoring y dictámenes.
apps/padron Padrón versionado y beneficiarios.
apps/pagos Programación, conciliación y reportes de pagos.
apps/notificaciones Bandeja, preferencias, WebSocket y Web Push.

Entradas principales

Ruta Uso
/ Landing pública.
/portal/ Registro y consulta de solicitudes.
/panel/ Dashboard administrativo.
/docs/ Sitio MkDocs compilado desde docs_site.
/django-admin/ Administración Django.
/ws/notificaciones/ Canal WebSocket autenticado.

Procesamiento

La aplicación ejecuta scoring, consolidación de padrón y creación de notificaciones dentro del proceso web. Las notificaciones se emiten con transaction.on_commit para no publicar eventos de transacciones revertidas.