This is a demo project presenting deepdancer and more generally dependency injection, the different tags let you navigate between three branches:
- No dependency injection,
masterbranch, with just a functional project - Using deepdancer,
deepdancerbranch, with the same project using deepdancer and introducing unit tests previously very hard to setup. - Using deepdancer-darkmagic,
deepdancer-darkmagicbranch, simplifying the setup of dependencies.
The test project offers a single API to store users alongs side their location. Their location is retrieved from their IP.
GET set/{username}/{ip}
We have two external systems:
- An IP to location resolution service, here
http://ip-api.com/ - A storage system, here the file system, but we could also have used a database.
It has only one unit test as an example.