Bancolombia is a bank that operates in some South America’s countries like Colombia.
It has a web application that allows its clients to manage their services.
However this web application is somewhat hard to use, so I took the challenge to write a CLI tool using Go. This CLI would interact with the web application as if it were a web browser.
One of the most difficult parts to implement was authentication, because the official web app encrypts the password before sending it to the server. However I was able to aproach this by using TDD and slowly implementing the functions used to encrypt the password and at the same time writing unit tests with the inputs/outputs taken from executing the original functions in the browser.
This tool is not intended for general use but I personally use it to check my accounts balance/transactions from the command line 😎.