===========================================================================
Technologies : JPA Hibernate HickariCP : High performances connections pool manager JNDI : using embedded jnp.server JTA : Narayana implementation CDI 2.0 : Weld JAX-RS 2.1: Jersey
Maven project
#download the sources :
git clone https://github.com/nejeoui/moneytransfers.git
cd moneytransfers
the project depends on maven-surefire-plugin and JersyTest to run Junit test
mvn test
runs the following tests :
1-createNewBeneficiary
Service Endpoint : http://localhost:8080/Beneficiary/newBeneficiary
2-findBeneficiary
Service Endpoint : http://localhost:8080/Beneficiary/{phone}
3-createNewAccount
Service Endpoint : http://localhost:8080/Account/newAccount
4-getAccountByPhoneCurrency (retrieve account by ID)
5-getAllAccounts of a beneficiary
Service Endpoint : http://localhost:8080/Account/{phone}
6-getAllAccounts retrieve all accounts
Service Endpoint : http://localhost:8080/Account/AllAccounts/
7-TopUp an account
Service Endpoint : http://localhost:8080/Account/topUpAccount
8-Money Transfer between two accounts
Service Endpoint : http://localhost:8080/Transfers/transfer/
9-Add Beneficiary using JTA
10-Simulate System crash and Recovery mode
mvn test
mvn exec:java -Dexec.mainClass="com.revolut.moneytransfers.App"
- Add support for distributed transaction and Two Phase Commit Protocol 2PC
- Security
- Recurrent payment processing using Batch (JSR 352)