TrackExpenses is an Android application which allows the user to add, edit, or delete any of the expenses that are displayed using a RecyclerView (expenses are saved in the internal storage of the device as a .txt file).
The project contains a main activity which serves as a fragment container, and two fragments - one for displaying the expenses and another for adding or editing expenses.
In addition, the project is built using MVVM architecture for separating the view and the logic (the adapter acts as the Model, the fragment for displaying the recyclerview is the View, and the View-Model holds the live data).
The menu contains the following functionalities:
- Add a new expense
- Sum of current displayed expenses button
- Filter expenses by date. The user has the ability to choose the year, year-month, or leave both fields empty to display all expenses ever added
- Sort expenses by name, date, or amount. The chosen sorting method is saved using SharedPreferences to allow the expenses to be displayed by that order upon the next launch of the app
A broadcast receiver is used when launching the app, which broadcasts the current month and year, thus, displaying the relevant expenses. Lastly, a foreground service is used, which uses another broadcast receiver that sends a daily notifiction to the user at 8 PM as a reminder to enter their daily expenses.
APK file is included.