Arquitectura Técnica

Vista de diseño orientada a operación real: trazabilidad contable, roles y flujos de aprobación para organizaciones pequeñas.

Capas del sistema

Capa 1 · API

abhackus-rest-api (Rust + Axum + SQLx) expone autenticación, usuarios, contabilidad, reportes y soporte con reglas por rol y trazabilidad.

Capa 2 · Datos

PostgreSQL 14+ como fuente de verdad, con conexión vía DATABASE_URL=postgres://usuario:clave@host:5432/abhackus y migraciones versionadas en abhackus-dborm/migrations.

Capa 3 · Interfaces

Web (Leptos + Tailwind) para operación diaria y TUI (Ratatui) para administración terminal.

Capa 4 · Operación

Importación ODS, validación admin de pagos sensibles, conciliación periódica y reportes exportables.

Decisiones de ingeniería

REST-first como estándar vigente

Reduce complejidad operativa y acelera integración con web/TUI.

CLP en enteros

Evita errores de redondeo y simplifica conciliación contable.

Aprobación obligatoria para cuota/aporte voluntario

Protege consistencia de caja y separa captura de validación administrativa.

Auditoría de transiciones

Cada cambio de estado deja rastro con actor, motivo y timestamp UTC.

Runbook mínimo

Comandos de referencia para preparar PostgreSQL, obtener parámetros de conexión y levantar API/entorno local.

# 1) Verificar conexion actual a PostgreSQL
psql -h 127.0.0.1 -p 5432 -U postgres -d postgres -c '\conninfo'

# 2) Definir parametros y construir DATABASE_URL
export PGHOST=127.0.0.1
export PGPORT=5432
export PGUSER=app_user
export PGPASSWORD=app_password
export PGDATABASE=app_db
export DATABASE_URL="postgres://$PGUSER:$PGPASSWORD@$PGHOST:$PGPORT/$PGDATABASE"

# 3) Migrar y ejecutar stack principal
make migrate
ABHACKUS_JWT_SECRET='change-me' make rest-run
make tailwind-watch
cargo run -p abhackus-tui