An open API service indexing awesome lists of open source software.

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

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