A robust, full-stack Core Banking System (CBS) designed for academic excellence and production-grade data management. This project demonstrates advanced database architecture, ACID-compliant transaction handling, and a modern, high-performance user interface.
- Normalization: Fully optimized to 3NF/BCNF to ensure zero data redundancy and maximum integrity.
- Modular Design: Implemented using PostgreSQL Schemas to emulate Oracle-style packages (
pkg_account_ops,pkg_loan_mgmt), ensuring clean namespace separation. - PL/SQL Automation:
- Triggers: Automated audit logging, age-based validation (18+), and intelligent account number generation.
- Procedures: Atomic logic for multi-stage transactions (Transfer, Loan Approval, EMI Posting).
- Cursors: Explicit cursors for batch processing of monthly interest and dormant account detection.
- Bento Grid Dashboard: Real-time visualization of net liquidity, tier-1 capital stability, and customer growth.
- Interactive Command Palette:
Ctrl + Knavigation for rapid customer lookup and system navigation. - Modern Notifications: Custom Toast notification system for non-blocking success/error feedback.
- Full CRUD & Banking Ops: Perform real-time deposits, withdrawals, profile updates, and record deletions with automated audit trails.
| Layer | Technologies |
|---|---|
| Database | PostgreSQL 17 (B-Tree Indexing, Schemas, PL/pgSQL) |
| Backend | Node.js (Express.js), pg (Pool Connection Management) |
| Frontend | Vanilla JS, CSS3 (Custom Design System), Chart.js, FontAwesome |
| Security | DCL (RBAC) with fine-grained Roles (Teller, Auditor, Admin) |
The project is structured into logical development steps to ensure a smooth viva demonstration:
- Step 1: DDL & DCL: Schema definition, constraints, and Role-Based Access Control.
- Step 2: Data Population: 100+ total records across 12+ tables to simulate a live environment.
- Step 3: Advanced Queries: Complex analytical reports using Joins, Set Operations, and Subqueries.
- Step 4: PL/SQL & Automation: The "Brain" of the system—Triggers, Functions, and Procedures.
- Step 5: Final Upgrades: High-performance Views and Custom Composite Types.
- PostgreSQL 17+
- Node.js (Latest LTS)
- Clone the Repository:
git clone https://github.com/Huzaifa-12Imran/CoreBankingSystem.git cd CoreBankingSystem - Initialize Database:
Execute scripts
Step_1throughStep_5in order using your preferred SQL client orpsql. - Launch Backend:
cd app npm install node server.js - Open Dashboard: Navigate to
http://localhost:3001.
| Requirement | Implementation Detail | Status |
|---|---|---|
| Normalization | Tables optimized to 3NF/BCNF | ✅ |
| ACID Compliance | Managed via BEGIN/COMMIT/ROLLBACK in banking logic |
✅ |
| Set Operations | UNION, EXCEPT, INTERSECT for system reporting |
✅ |
| Triggers | 8+ triggers for auditing and business rules | ✅ |
| Complex Views | v_customer_financial_summary with correlated subqueries |
✅ |
| DCL | 4 distinct roles with specific table-level permissions | ✅ |
Developed for the Semester Project — Database Systems (CS-311)
Team: Huzaifa Imran & Muhammad Arslan