Skip to content

Latest commit

 

History

History
39 lines (23 loc) · 1.86 KB

README.md

File metadata and controls

39 lines (23 loc) · 1.86 KB

LogifutureWallet

Software Developer Coding Challenge![ref1]![ref1]

Congratulations on getting to this stage and thank you for taking the time to solve the following exercise.

The assignment should take less than 5-6 hours of your time, and you can submit a partial or incomplete solution.

Here are some ground rules:

  • We would like to see the solution implemented in Java
  • You can use any library and/or framework that you see fit
  • You don’t need to deal with deployment, CI/CD, etc.
  • Make sure to provide instructions on how to run your deliverable and any dependencies it might have.
  • Write code as you would expect if you were working as part of a team and deploying to production

Should you need any further information, please do not hesitate to contact us. Best of luck!

1 Wallet System

In a sports betting platform there needs to be a place where we can store the funds for each user. We call this a wallet.

Funds in a wallet can increase (e.g. by winning a bet, depositing money, getting a bonus etc.) or decrease (e.g. by placing a bet, withdrawing money etc.).

We would like you to design and implement a service which is in charge to store the funds and provide the functionality for manipulating the balance. The system should be able to handle a large number of concurrent users and should be fault-tolerant, meaning that it should continue to operate even if some of the nodes in the system fail.

Requirements:

  • We need a way to create a wallet.
  • We need a way to add funds to a wallet.
  • We need a way to remove funds from a wallet.
  • We need a way to query the current state of a wallet.
  • The client should interact with service with REST APIs.

Try to keep the code simple and design/write the code as you would expect if you were deploying to prod.

Feel free to add any extra features or designs to the wallet if you deem it necessary.