Skip to content

just8do8it/BankWallet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bank Wallet REST API

A simple Bank Wallet REST API built with Spring Boot where users can own a wallet and perform basic money operations. It demonstrates clean layering (controller/service/repository), entity mapping with JPA, validation, and error handling.

How to run

Prerequisites:

  • Java 25
  • Maven 3.9+

Steps:

From the project root folder:

mvn clean install
mvn spring-boot:run

The application will start on:

The H2 console is available at:

To connect to the DB, use JDBC URL: "jdbc:h2:mem:testdb" (or whatever you configured in the application.properties file)


API overview

User Controller

  • create a user, with a wallet (no auth required)
  • find all users
  • find a user by ID or email
  • update user's name or email
  • delete a user (only with ADMIN auth)

Wallet Controller

  • find a wallet by walletID or userID
  • deposit in a wallet
  • withdraw from a wallet
  • transfer between 2 wallets

Technologies used

  • Java 25
  • Maven 3.9 – build and dependency management
  • Spring Boot – application framework and auto‑configuration
  • Spring Web – RESTful HTTP endpoints
  • Spring Data JPA / Hibernate – ORM and repository abstraction
  • H2 Database (in‑memory) – relational database for development/testing
  • Jakarta Validation / Hibernate Validator – request and DTO validation
  • Lombok – boilerplate reduction (@Data, @Getter, @Setter, @AllArgsConstructor, @NoArgsConstructor, @Slf4j)
  • Swagger/OpenAPI - documenting the REST endpoints
  • exchangeratesapi (from https://docs.apilayer.com/) - currency exchange API for deposits

About

A little Spring Boot project.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages