Full-stack financial wallet application built with modular Auth and Wallet engines, double-entry ledger, and ACID transactions.

DBT Project Wallet
A full-stack wallet application with modular authentication and wallet engines.
The current UI focuses on the user wallet experience: dashboard balance summary, recent transactions with a full history page, and a local profile editor that includes username and phone number. Admin console entry points are no longer exposed in the frontend.
[!NOTE] Modular Engines & Full-Stack Integration:
- Modular Engines: The backend incorporates the modular Auth Engine (
backend/src/auth-engine— featuring claims, JWT rotation, session management, and storage adapters) alongside a dedicated Wallet Engine (backend/src/wallet-engine).- Full-Stack Application: This repository integrates these modular engines into an end-to-end Full-Stack Web Application (Express API + MySQL DB + React/Vite UI), complete with database scripts and a Windows control panel (
setup.bat).
Full implementation details are documented in CHANGELOG.md.
System Architecture
The application is built on a Modular Dual-Engine Architecture separating security/identity management from financial ledger operations:
+-------------------------------------------------------------------+
| React Frontend (Vite) |
| Dashboard | Transactions | Profile | Navigation |
+-------------------------------------------------------------------+
|
v
+-------------------------------------------------------------------+
| Express Backend API |
| |
| +---------------------------+ +-----------------------------+ |
| | Auth Engine | | Wallet Engine | |
| | - JWT Session/Rotation | | - Double-Entry Ledger | |
| | - Password/Verification | | - Idempotency Reservation | |
| | - Security & Rate Limits | | - Balance Derivation (SUM) | |
| +---------------------------+ +-----------------------------+ |
| | | |
| v v |
| +---------------------------+ +-----------------------------+ |
| | Auth Storage Adapters | | Wallet Storage Adapter | |
| | - KnexAuthAdapter (Knex) | | - MysqlWalletAdapter(MySQL) | |
| | - PostgresAuthAdapter(PG) | +-----------------------------+ |
| | - sqlite.js (SQLite) | |
| | - mock.js (In-Memory) | |
| +---------------------------+ |
+----------------|--------------------------------|-----------------+
v v
+-------------------------------------------------------------------+
| Database Persistence Layer |
| MySQL 8+ (Active App) | PostgreSQL / SQLite (Supported Engine)|
| (ACID Transactions, Row Locking, Idempotency & Audit Triggers) |
+-------------------------------------------------------------------+
