Full-Stack-Banking-App

🏦 Full Stack Banking Application (3-Tier Architecture) A secure and responsive full-stack Banking Management System built using:

Java Spring Boot for the backend (REST + MVC)

Thymeleaf as the server-side templating engine for dynamic UI

MySQL as the relational database for persistent storage

🧱 3-Tier Architecture Presentation Layer: Thymeleaf + HTML/CSS/Bootstrap

Business Logic Layer: Spring Boot Services & Controllers

Data Access Layer: Spring Data JPA with MySQL

🚀 Features ✅ Customer Registration & Login (Spring Security)

✅ Account Management (Savings, Current)

✅ Deposit & Withdrawal

✅ Fund Transfer (Between accounts)

✅ Transaction History

✅ Admin Dashboard (View users, accounts, total balance)

✅ Error handling & input validations

✅ Responsive UI with Bootstrap

🛠️ Tech Stack Layer Technology Frontend (View) Thymeleaf, HTML, CSS, Bootstrap Backend (Controller, Service) Spring Boot, Spring MVC, Spring Security Persistence (DAO) Spring Data JPA, Hibernate Database MySQL Tools Maven, Spring Initializr, VS Code / IntelliJ

📂 Project Structure cpp Copy Edit src/ ├── controller/ ├── service/ ├── repository/ ├── model/ ├── templates/ ├── static/ └── application.properties ⚙️ Setup Instructions Clone the Repository

bash Copy Edit git clone https://surendhiranlearner.github.io/Full-Stack-Banking-App/

cd banking-app Configure MySQL Database

Create a MySQL database: banking_db

Update application.properties with your DB credentials.

Run the App

bash Copy Edit mvn spring-boot:run Access the App

Frontend: http://localhost:8080

Admin Panel: /admin/login

🔐 Default Users (for demo) Role Username Password Admin admin admin123 Customer user1 pass123