Skip to content

Banking App is a full-stack web application using Spring Boot and React, offering secure user authentication, account management, fund transfers, and transaction history with a modern UI and robust backend.

Notifications You must be signed in to change notification settings

ArunKargatia/BankingApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏦 Banking Application

A secure and fully-featured full-stack banking solution built with Spring Boot (backend) and React + Tailwind CSS (frontend), designed for a smooth and reliable digital banking experience.


✨ Key Features

🛡️ Backend (Spring Boot)

  • Role-based Access Control — Supports USER and ADMIN roles with Spring Security
  • Secure Authentication — Signup, login with JWT-based security
  • Session Management — Tokens securely handled via sessionStorage
  • Account Services — Create, view, and manage multiple account types
  • Transaction Management — Fund transfers with balance validation, transaction recording, and rollback on failure
  • User Profile Management — View and update personal profile details
  • Admin Features — View all customers, accounts, and transactions
  • Exception Handling — Centralized error handling with meaningful HTTP responses
  • Database Integration — PostgreSQL with JPA for efficient persistence

🎨 Frontend (React + Tailwind CSS)

  • Responsive Design — Optimized for desktop, tablet, and mobile
  • Authentication Flow — Login, signup, and logout integrated with backend JWT
  • Customer Dashboard — Account details, balances, and recent transactions at a glance
  • Funds Transfer UI — Simple and secure interface for sending money
  • Transaction History — Searchable and filterable transaction list
  • Profile Section — View and update user details
  • Admin Dashboard — Manage users, accounts, and transactions
  • Routing — Smooth navigation with React Router
  • API Integration — Axios for efficient data fetching and error handling

🛠️ Technology Stack

Backend

  • Spring Boot — Application framework
  • Spring Security — Authentication & authorization
  • PostgreSQL — Relational database
  • JPA (Hibernate) — ORM for database interaction
  • Lombok — Boilerplate code reduction

Frontend

  • React.js — UI library
  • Vite — Build tooling & optimization
  • Tailwind CSS — Utility-first styling
  • React Router — Client-side routing
  • Axios — HTTP requests

📋 Current Implementation

  • ✅ Role-based authentication (USER / ADMIN)
  • ✅ Account creation and management
  • ✅ Fund transfers with validation
  • ✅ Transaction logging and history retrieval
  • ✅ Profile viewing and updating
  • ✅ Admin access to customers, accounts, and transactions

🚀 Future Enhancements

  • 📊 Advanced analytics dashboard
  • 📩 Real-time notifications (WebSocket)
  • 🔑 Multi-factor authentication
  • 💱 Multi-currency support
  • 📱 Progressive Web App (PWA) support

Developed by: Arun Kargatia

About

Banking App is a full-stack web application using Spring Boot and React, offering secure user authentication, account management, fund transfers, and transaction history with a modern UI and robust backend.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages