🔍 HireSync — Event-Driven Architecture & Audit Logging
Under the hood, HireSync is powered by a robust event system:
⚡ Event Flow (3 phases):
1. Core Transaction — use case persists data, entity queues domain event
2. Event Reaction — events broadcast via NestJS EventEmitter, listeners enqueue side effects
3. Background Processing — BullMQ picks up jobs from Redis and executes
📊 54+ Registered Domain Events across:
Auth events (login, register, verification, reset)
Account lifecycle (updates, deletion, restoration)
Security (MFA, OAuth, failed login attempts)
Recruitment (job CRUD, application lifecycle, documents)
📋 Global Audit Logging:
Every domain event persisted to AuditLog table
Automatic redaction of sensitive data
Indexed by event name, actor ID & timestamp
Middleware-based actor context extraction
⏰ Scheduled Tasks:
Expire job listings (CRON)
Purge deleted accounts past grace period (CRON)
Clean expired sessions (CRON)
All async. All decoupled. All auditable ✅
