Saved searches
Use saved searches to filter your results more quickly
Cancel Create saved search
Sign up Reseting focus
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
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.
Notifications You must be signed in to change notification settings
Mohammed-eid35/bank-management-system-springboot
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Go to file
Folders and files
Last commit message
Last commit date
Latest commit
History
View all files
Repository files navigation
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
cd bank-management-system-springboot
mvn spring-boot:run
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.
- 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.
About
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.