A modern, full-stack simple banking web application built with Java, allowing users to seamlessly manage accounts and perform basic banking operations through a beautiful user interface.
- Pristine Web UI: A beautiful, modern Single-Page Application (SPA) utilizing a glassmorphism design system, dark mode, and sleek animations.
- REST API Backend: Powered by Javalin to expose banking services securely over HTTP.
- Account Management: Create and manage bank accounts with initial deposits and 4-digit PIN authentication.
- Banking Operations: Securely perform deposits, withdrawals, and balance inquiries.
- Transaction History: View a real-time table of past transactions, properly recording time and operation types.
- Data Persistence: Uses an embedded H2 Database for lightweight and reliable data storage.
- Localized Currency: All financial interactions use the Indian Rupee (₹).
- Backend: Java 17, Javalin (REST API Framework)
- Frontend: Vanilla HTML5, CSS3 (Custom Variables, Flexbox/Grid), JavaScript (Fetch API for SPA interaction)
- Database: H2 Database (Lightweight, embedded relational database)
- Build Tool: Maven
- Java Development Kit (JDK) 17 or higher
- Maven 3.6.0 or higher
-
Clone the repository:
git clone <repository-url> cd simple-banking-system
-
Build the project:
mvn clean package
-
Run the application: Start the compiled executable JAR file:
java -jar target/simple-banking-system-1.0-SNAPSHOT.jar
-
Access the Web Interface: Open your preferred web browser and navigate to: http://localhost:7070
simple_banking_system/
├── src/
│ ├── main/
│ │ ├── java/com/banking/
│ │ │ ├── config/ # Database initialization
│ │ │ ├── controller/ # Javalin REST API Controller
│ │ │ ├── dao/ # Data Access Objects (H2 SQL queries)
│ │ │ ├── model/ # Data Models (Account, Transaction)
│ │ │ ├── service/ # Core Business Logic
│ │ │ └── Main.java # Application Entry Point & Server Setup
│ │ └── resources/
│ │ ├── public/ # Static web assets (index.html, styles.css, app.js)
│ │ └── schema.sql # Database table schemas
├── pom.xml # Maven dependencies & build configuration
└── README.md