Skip to content

Ideas for GSoC

Michael Totschnig edited this page Feb 7, 2023 · 1 revision

Continue the migration from Android View System to Jetpack Compose

Since recently, new screens are implemented with Jetpack Compose, and selected functionality has been migrated to Jetpack Compose. The Transaction Edit Form is one central feature of the app, that is still implemented with the Android View System, with a lot of legacy code. The aim of this project is to create a feature-par implementation that is 100% based on Compose.

Modernize charts

The app currently offers two types of charts, a pie-chart showing the distribution and a combined line/bar chart showing the history. These charts use a library that is no longer maintained. So we would gain by switching them over into Compose Land. The aim of this project is to pick one of these charts and reimplement it in Compose.

Extend functionality of Web User Interface

My Expenses allows to start a web server (using Ktor), that generates a Web User Interface (built with AlpineJS), offering basic functionality. The aim of this project is to extend the Web UI with missing functionality like editing split transactions, defining and using recurring transactions, exposing export and import functionality.

Synchronization

My Expenses allows to synchronize data via Cloud Storage providers (Dropbox, Drive, NextCloud). The current synchronization architecture has some important shortcomings, mainly the fact that it is focused on transactions per account, and ignores changes to all types of secondary data like categories, tags, templates, payees, methods. The aim of this project is to design a new architecture that allows to fully synchronize application data.