https://github.com/kareememadelfrargi/banking-system-api
https://github.com/kareememadelfrargi/banking-system-api
java jpa jwt lombok-maven postgresql spring-boot
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/kareememadelfrargi/banking-system-api
- Owner: KareemEmadElfrargi
- Created: 2025-05-27T18:46:37.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-06-01T21:51:42.000Z (about 1 year ago)
- Last Synced: 2026-04-10T20:49:03.038Z (3 months ago)
- Topics: java, jpa, jwt, lombok-maven, postgresql, spring-boot
- Language: Java
- Homepage:
- Size: 51.8 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Banking System API
A RESTful API for managing users and bank accounts using **Spring Boot** with **JWT** for security and **PostgreSQL** as the database.
---
## Features
- User registration and authentication with JWT
- One-to-many relationship between users and bank accounts
- Role-based access control
- Data validation and error handling
Secure transactions using JWT ownership check + user-account relation
- Linked BankAccount to User via @ManyToOne relation
- Added ownership check in deposit/withdraw logic using JWT
- Created endpoint to fetch current user's accounts (/api/accounts/my)
- Prevented unauthorized access to others' accounts
---
## Technologies Used
- Java 21
- Spring Boot
- Spring Security with JWT
- Hibernate / JPA
- PostgreSQL
- Maven
- Lombok
---
## Getting Started
### Prerequisites
- Java 21
- Maven
- PostgreSQL
## Video
https://github.com/user-attachments/assets/140a9385-37e0-4bf2-9fda-d0c799005865