Financial core
Accounts, transfers, and payment requests are protected by transactions and PostgreSQL constraints.
Digital bank
End-to-end financial platform with accounts, transfers, and payment requests.
Technical vision
Auronix combines Java/Spring Boot, Angular, and PostgreSQL with messaging, SSE, Redis Pub/Sub, and declarative infrastructure.
persistence and messaging without loss or duplication of financial events
Accounts, transfers, and payment requests are protected by transactions and PostgreSQL constraints.
Transactional Outbox processes batches with FOR UPDATE SKIP LOCKED and idempotent consumers by eventId.
SSE with Redis Pub/Sub propagates balances and transactions across multiple replicas.
Execution flow
Auronix combines Java/Spring Boot, Angular, and PostgreSQL with messaging, SSE, Redis Pub/Sub, and declarative infrastructure.
LOCK ACQUIRED -> BALANCE VALIDATED -> COMMIT -> EVENT DELIVERED
The financial action reaches the Spring Boot backend and goes through domain validation before movement.
Pessimistic locks in deterministic order, balance revalidation, and constraints reduce risk in concurrent transfers.
The Outbox separates persistence from messaging to avoid inconsistency between stored data and financial events.
Engineering decisions
The Outbox avoids inconsistencies between persistence and messaging in financial operations.
Pessimistic locks in deterministic order and balance revalidation protect simultaneous transfers.
Terraform, VPC, EKS, Kubernetes, health checks, graceful shutdown, Docker Compose, kubeconform, CI/CD, and Micrometer shape delivery.
Risk controls
Idempotent consumers by eventId and batch processing with FOR UPDATE SKIP LOCKED reduce duplicate effects.
SSE with Redis Pub/Sub reduces polling and keeps clients synchronized across replicas.
Stack
Outcome
The project concentrates concurrency, messaging, realtime, and infrastructure decisions for a financial platform.