As part of this process, we would like you to complete a coding challenge that demonstrates your skills in developing applications and learn a bit about algorand. This challenge involves creating a simple application and/or service that interacts with the Algorand node API.
Your task is to develop a REST API that allows users to add Algorand account addresses to a "watcher" list.
The application should have the following features:
-
Accepting an Algorand address: Create a REST API endpoint that accepts an Algorand account address and adds it to the watcher list.
-
Periodic state check: Implement a mechanism that periodically, at every 60 seconds, check the state of each account in the watcher list. This check should determine if the account's state has changed since the last query.
-
Logging notifications: Whenever a change in the balance of a watched account is detected, log a notification. This notification should provide relevant details about the account and its state change.
-
Listing tracked accounts and their states: Create a REST API endpoint that lists all the tracked accounts and their current states.
When completing this coding challenge, keep in mind that we do not expect a fully fledge production-ready system, but all design & implementation decisions will be considered. So things like unit tests, configurability, documentation, ease of use, deployability, a well-structured codebase, etc; all will be taken into account.
- algonode.io (use testnet)
- Relevant endpoint: Account Information
- Github repository with the code