This was a fantastic project for a technical challenge. It involved gathering lots of information from the user: each of their incomes and expenses had to be input. So ease of use and making everything intuitive was important. Then came data processing. I had to calculate each of their bills and expenses out 5 years, calculating correct dates for each income/expense, whether they were one time events or ongoing with varying frequencies; keeping a running track of their bank balance and letting the user know the minimum positive amount or maximum deficit they had in their bank account during those five years.
While I had made basic projects with Vue.js this was my first major project. I learned a lot with data structuring and organization, but looking back on it, I've learned much more since then in terms of factoring out components for better adhering to SOLID / DRY principles.
This was also my first time with payment processing which was an intimidating thought, but the Braintree API made for a fairly simple setup and execution.