Objective: Refactor the transaction system to use Event Sourcing. Instead of updating rows, every change generates a signed event record.
Logical Magnitude: High (Changes the fundamental way data is stored and calculated).
Files Involved (8):
models/FinancialEvent.js
(New: To store immutable events)
services/ledgerService.js (New: The brain for replaying events)
models/Transaction.js
(Update: Remove mutable fields, add event tracking)
services/transactionService.js
(Update: Overhaul persistence logic)
middleware/integrityGuard.js (New: Verifies event signatures)
routes/ledger.js (New: API for event history)
utils/auditHash.js (New: Cryptographic chaining for events)
tests/ledgerIntegrity.test.js (New: Complex reconstruction tests)
Objective: Refactor the transaction system to use Event Sourcing. Instead of updating rows, every change generates a signed event record.
Logical Magnitude: High (Changes the fundamental way data is stored and calculated).
Files Involved (8):
models/FinancialEvent.js
(New: To store immutable events)
services/ledgerService.js (New: The brain for replaying events)
models/Transaction.js
(Update: Remove mutable fields, add event tracking)
services/transactionService.js
(Update: Overhaul persistence logic)
middleware/integrityGuard.js (New: Verifies event signatures)
routes/ledger.js (New: API for event history)
utils/auditHash.js (New: Cryptographic chaining for events)
tests/ledgerIntegrity.test.js (New: Complex reconstruction tests)