Rework the entire current codebase to be essentially a backend instead of the current basic console app standalone solution.
- The printed information needs to be returned in the relevant methods instead of being printed.
- Use streams and listeners for constantly updating information (collection progress, trade events, etc)
- Get rid of modes (or at least be able to switch between them)
- Generate logs using an appropriate logging solution like
log4j
This is the prerequisite for #8. This means the console exe with launch4j can be replaced with a different front-end. Once this is done the bot backend could also be entirely detached from the local executable, run as a server, and communicate via API responses.