GSoC 2021 KMyMoney - Week 3, 4 and 5

The plan for the Week 3 and Week 4 was to complete the following tasks:

Week 5 was more into replacing the WebPriceQuote usage in KMyMoney and figuring out what APIs are needed in libalkimia.

I noticed that the online quotes that were in kmymoneyrc weren’t visible in the Online Quotes dialog. I figured out that and used the kmymoney profiles only. As also further pointed by Ralf, the onlinequoteseditor (in libalkimia) is intended to support multiple applications and therefore adds multiple profiles.

As unit tests were already written in libalkmia I run all the tests to check if something were wrong. All the tests passed successfully.

I started replacing WebPriceQuote implementation with that of Alkimia one by one. I managed to do so with the help of API documentation and previous KMyMoney 4.8 implementation. I found that some of the implementations were not present in libalkimia :

For this Ralf pointed out that it uses the type MyMoneyStatement as the second parameter only known by kmymoney and therefore cannot be added to alkimia and Thomas suggested I move over it as the whole CSV import is needed to be reworked and is currently out of the scope of GSoC project.

Alkimia build was successful. I am also working in the modifications in AlkOnlineQuoteSource constructors with these new members and its tests.

My work can be found here : Alkimia and KMyMoney.

Learnings -

My object-oriented concepts improved and I learned how to implement and modify tests.

What’s next -

Phase 1 ended and there are now evaluations. The initial part of my project started slow since I was taking time to get acquainted more with the codebase. It is great to have such helpful mentors who help me with my queries as early as possible. I have planned to put on more time in my project as required. Work for the next work involves replacing the left WebPriceQuote APIs.
If anyone wants to suggest something or have a discussion please reach out to me on suraj[dot]mahto49[at]gmail[dot]com or @suraj_sloth:kde.org in matrix.