Skip to content

Simple yet robust Spring Boot API for managing banking operations using Spring Boot

License

Notifications You must be signed in to change notification settings

ralintuscano/springboot-banking-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring Boot Banking API

This project showcases a simple yet robust Spring Boot API for managing banking operations.

Features

  • Deposit: Add funds to an account.
  • Withdraw: Withdraw funds from an account.
  • Transfer: Transfer funds between accounts.
  • Get All Accounts: Retrieve a list of all accounts.
  • Get Users: Fetch details of all users.
  • Get All Transactions: Fetch all transactions for a user/account.

Technologies Used

  • Spring Boot
  • PostgreSQL
  • Lombok
  • hibernate
  • Mapstruct
  • Postman

Core Components

  • Controller: Implements RESTful endpoints for handling HTTP requests.
  • Service: Handles business logic and orchestrates interactions between components.
  • Repository: Interacts with the database for CRUD operations.
  • DTOs (Data Transfer Objects): Facilitate data exchange between layers.
  • Mappers: Convert entities to DTOs and vice versa using mapstruct.
  • Exception Handling: Custom exception handling for graceful error responses.
  • AOP (Aspect-Oriented Programming): Global exception handler for centralized error management.

Setup

  1. Clone the repository.
  2. Navigate to the project directory.
  3. Run mvn spring-boot:run to start the application.
  4. The API will be available at https://localhost:8080.

Usage

Deposit

POST /transactions/deposit
{
    "transactionType" : "CREDIT",
    "amount": "12000",
    "accountId": "1"
}

About

Simple yet robust Spring Boot API for managing banking operations using Spring Boot

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages