ZenVault is a secure, enterprise-grade desktop banking application designed for comprehensive financial management. It features robust client and admin dashboards, secure transaction processing, and persistent data management using MySQL.
- 🔐 Secure Authentication: Multi-layered login system with encrypted session management and role-based access control (RBAC).
- 💼 Comprehensive Dashboards:
- Client Portal: View balances, transaction history, and manage multi-currency accounts.
- Admin Dashboard: Oversee user accounts, process registrations, and generate financial reports.
- 💸 Transaction Engine: High-fidelity processing for transfers, deposits, and withdrawals with concurrency handling.
- 📊 Financial Analytics: Advanced search and filtering for transaction history with real-time balance updates.
- 🛡️ Data Persistence: Optimized MySQL integration with connection pooling and automated daily backups.
- Core: Java 17 (LTS)
- UI Framework: Java Swing with custom look-and-feel enhancements
- Database: MySQL 8.0
- Persistence: JDBC with optimized connection pooling
- Build Tool: Maven
- Security: Custom JWT-inspired token handling and password hashing
- JDK 17 or higher
- MySQL Server 8.0+
- Maven 3.8+
-
Clone the repository:
git clone https://github.com/HayreBuilds/ZenVault.git
-
Configure the database:
- Create a database named
zenvault. - Run the provided SQL scripts in
src/main/resources/sql/to initialize tables.
- Create a database named
-
Update credentials:
- Edit
src/main/resources/db.propertieswith your MySQL username and password.
- Edit
-
Build and Run:
mvn clean install mvn exec:java -Dexec.mainClass="com.zenvault.Main"
Distributed under the MIT License. See LICENSE for more information.
Securely engineered by Hayredin Mohammed