This project is backend of the fab wallet system.
web UI for this project is:
https://github.com/javatechy/fab-ui
This application uses maven as build tool and MySQL as database.
Assuming:
- Java 8 is installed
- Port 8080 is empty , if not please change server.port property in
application.properties
insrc/main/resources
- MySQL is installed on the machine on port 3306(default port), if not please change port in
application.properties
- DB credentials are same as mentioned in
application.properties
Follow these steps to run this project:
Clone the project git clone https://github.com/javatechy/fab-backend.git
Create a database in MySQL :
create database fab;
To build the application mvn clean install
Run the application using mvn spring-boot:run
To release a production version mvn release:clean release:prepare
To deploy build on nexus mvn clean deploy
Following tables are created:
Transaction
: all transactions data for recharge, bill payment and movie.User
: for user infoBalance
: for storing users wallet balance
Note: Each time you run this application it will
delete all data from all tables and adds new data.
To avoid this functionality comment @PostConstruct
in SetupServiceImpl
Update SetupServiceImpl
and add your user.
This project uses global exception handling using ResponseEntityExceptionHandler
check ExceptionInterceptor
class for reference.
- Single Request and Single Response structure has been followed.
- All Exception cases follows
fab.wallet.backend.api.Error
structure.