Welcome to the Mettrr backend tech test!
Please spend no more than 4 hours on this test. If you have some spare time have a go at the bonus question at the bottom. Don't worry if you don't have a complete solution by the end, feel free to submit in English how you would go about finishing the rest of the test and / or bonus question. You may do this test in whatever language you feel comfortable with, ideally with a test suite in place using a testing framework of your choosing.
You don't need to implement any front end interface but please provide instructions in a readme on how to interact with your program.
Feel free to use whatever third party packages or dependencies you think may help to simplify this test but please be prepared to justify your decision to use them.
Please start by cloning or forking the repo to your personal GitHub account, renaming the repo to something random of your choosing. See here for inspiration.
Once you are done, push your changes and send an email with a link to your solution to myself (address below) to confirm completion.
If at any stage you have any questions, please contact Dom at db@mettrr.com.
Good luck!
Your goal is to create a program which can track debts between people. The program should allow the ability to add a debt between two or more people and be able to view for a given person how much they owe and are owed and to whom. You may add any other features you think might benefit the program.
Consider the following scenario:
Alex owes Bea £10 and Bea owes Clare £10. In order to settle their debts, instead of Alex having to pay Bea and Bea having to pay Clare, Alex can simply pay Clare £10.
Add a feature to your program which can calculate the simplest way to settle debts between multiple people.