Mohammed-eid35
bank-management-system-springboot
Java

Welcome to the Bank Management System repository built using Spring Boot! This project is designed to provide a foundation for managing banking operations using modern web technologies.

Last updated Jun 14, 2026
77
Stars
60
Forks
6
Issues
0
Stars/day
Attention Score
32
Language breakdown
Java 99.5%
Dockerfile 0.5%
Files click to expand
README

Bank Management System

Welcome to the Bank Management System repository built using Spring Boot! This project is designed to provide a foundation for managing banking operations using modern web technologies.

Table of Contents

Introduction

The Bank Management System is a web-based application developed using Spring Boot that aims to streamline various banking operations. This system offers features to manage customer accounts and perform transactions.

Features

  • User-Friendly Web Interface: Enjoy a user-friendly web interface designed for both customers, crafted using Angular. Check out the frontend repository on GitHub.
  • Authentication and Authorization: We prioritize security by implementing robust user authentication and authorization mechanisms, guaranteeing safe and controlled access to the system.
  • Multi-Account Support: Users have the convenience of creating up to three separate accounts within the system, catering to various financial needs and goals.
  • Comprehensive Account Details: Customers can easily access a wealth of information about their accounts, including balance summaries, card numbers, CVV numbers, and more. This empowers users with a clear overview of their financial status.
  • Efficient Transaction Handling: Our system offers well-defined API endpoints that enable seamless fund transfers between accounts. This ensures efficient and accurate transaction processing.

Installation

To run the Bank Management System locally, you will need the following:

  • Java 11 or higher
  • Maven
  • PostgreSQL
Once you have the required tools installed, follow these steps to install the Bank Management System:

  • Clone this repository:
git clone https://github.com/Mohammed-eid35/bank-management-system-springboot.git
  • Edit the database configurations in application.properties file.
  • Navigate to the project directory:
cd bank-management-system-springboot
  • Build and run the application using Maven
mvn spring-boot:run
  • Explore the Application: Once the application is up and running, open your web browser and access it at: http://localhost:8080
  • Access API Documentation: Additionally, you can explore the API documentation by navigating to: http://localhost:8080/swagger-ui.html. This provides detailed insights into the available API endpoints and functionalities.

Usage

  • Customer Actions:
- Account Creation: As a customer, you have the privilege of creating multiple accounts tailored to your financial needs. - View Account Details: Easily access comprehensive details about your accounts, empowering you with insights into your balances and transactions.
  • Transaction Operations:
- Deposit Funds: Any interface can conveniently utilize the /transaction/deposit endpoint to securely deposit funds into specified accounts. - Withdraw Funds: Similarly, the /transaction/withdraw endpoint is available for withdrawing funds from accounts, ensuring your transactions are seamless and accurate.

Database Schema

erDiagram
    User {
        SERIAL id PK
        VARCHAR name
        VARCHAR password
        VARCHAR phone "UNIQUE"
        VARCHAR email "UNIQUE"
    }
    
    Account {
        SERIAL id PK
        VARCHAR card_number "UNIQUE"
        VARCHAR cvv
        DOUBLE balance
        SERIAL user_id FK
    }

Transaction { SERIAL id PK VARCHAR type DOUBLE amount TEXT notes DATE timestamp SERIAL account_id FK }

User ||--o{ Account : "has" Account ||--o{ Transaction : "history"

Technologies Used

  • Java
  • Spring Boot
  • Spring Security
  • json web token (JWT)
  • Spring Data JPA
  • Lombok
  • PostgreSQL
  • Maven
  • Swagger
  • Docker

Contributing

Contributions to the Bank Management System project are welcome! If you'd like to contribute:
  • Fork the repository.
  • Create a new branch for your feature.
  • Commit your changes.
  • Push the branch.
  • Open a Pull Request explaining your changes.
🔗 More in this category

© 2026 GitRepoTrend · Mohammed-eid35/bank-management-system-springboot · Updated daily from GitHub