Skip to content

A simple RESTful Banking Application built with Spring Boot, Spring Data JPA, and MySQL. Implements CRUD operations for managing bank accounts using a clean layered architecture (Controller → Service → Repository → DTO → Entity → Mapper). Ideal for learning Java backend development, JPA integration, and REST API design.

Notifications You must be signed in to change notification settings

SidTirse-13/Springboot_Banking_App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏦 Spring Boot Banking App

Java Spring Boot MySQL License Build

A simple and clean Banking REST API built using Spring Boot, Spring Data JPA, and MySQL.
It demonstrates CRUD operations for managing bank accounts with a layered architecture (Controller → Service → Repository → Entity → DTO → Mapper).

🚀 Features

✅ Create a new bank account
✅ Fetch account details by ID
✅ Update account balance
✅ Delete an account
✅ Clean architecture with DTO and Mapper
✅ Uses Lombok for boilerplate reduction
✅ MySQL integration with JPA (Hibernate ORM)

⚙️ Tech Stack

Layer Technology
Language Java 17
Framework Spring Boot 3.x
ORM Spring Data JPA (Hibernate)
Database MySQL
Dependency Manager Maven
Build Tool Spring Boot Maven Plugin
Additional Lombok, REST APIs

🧩 Project Architecture

com.proj.Banking_app ├── controller │ └── AccountController.java ├── service │ ├── AccountService.java │ └── implementation │ └── AccountServiceImp.java ├── repository │ └── AccountRepository.java ├── entity │ └── Account.java ├── dto │ └── AccountDto.java ├── mapper │ └── AccountMapper.java └── BankingAppApplication.java

📦 API Endpoints

Method Endpoint Description
POST /api/accounts Create a new account
GET /api/accounts/{id} Retrieve account by ID
PUT /api/accounts/{id} Update account balance/details
DELETE /api/accounts/{id} Delete an account

🧪 Example Request (Create Account)

POST http://localhost:8080/api/accounts

Body:

{
  "accountHolderName": "John Doe",
  "balance": 5000.00
}

**Response:**
{
  "id": 1,
  "accountHolderName": "John Doe",
  "balance": 5000.0
}


💬 **Author**
👤 Siddhu Tirse
💼 Java & Spring Boot Developer
🌐 www.linkedin.com/in/siddheshtirse

About

A simple RESTful Banking Application built with Spring Boot, Spring Data JPA, and MySQL. Implements CRUD operations for managing bank accounts using a clean layered architecture (Controller → Service → Repository → DTO → Entity → Mapper). Ideal for learning Java backend development, JPA integration, and REST API design.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages