/e-wallet

Full stack web app with React and Spring Boot used for managing digital wallet and transactions

Primary LanguageJavaScript

e-wallet

Full stack web app with React and Spring Boot used for managing digital wallet and transactions.




Description

This application allows users to implement e-wallet with REST API to create it, top it up, check its balance and withdraw. Users can register and login to the system using their credentials. They can also add any wallets for any account provided by IBAN and transfer to their wallet or any other wallet defined in the system.

The application also has a custom IBAN validator that can easily be applied any IBAN fields via annotation as shown below:

@ValidIban(message = "{iban.valid}")
private String iban;



Architecture

The relationship between the entities is shown on Architecture section.


Getting Started

In order to run and test the application, see details on How to run? and How to test? sections.


Dependencies

  • Spring Boot
  • Spring Web
  • Spring Security
  • Spring Data JPA
  • Lombok
  • MapStruct
  • PostgreSQL
  • Flyway
  • React
  • Node.js
  • Material UI

Documentation

Spring Boot
Spring Security
Spring Data JPA
springdoc-openapi v2
MapStruct
JUnit 5
Entity Relationship Diagram (ERD)
React
Material UI
Notistack
Register of countries using the IBAN standard


Version History

  • v1.0.0 Initial Release