3d789c0352ce4f2dc54ddf9d066128aaef2ad9bb
The `ExpenseRepository` was introduced to handle data fetching with a caching strategy, utilizing a new `Resource` sealed class to represent Loading, Success, and Error states. Key changes include: - Added `ExpenseRepository` to manage data flow between the local database and remote API. - Updated `MainViewModel` to use the repository and expose expenses via a `StateFlow<Resource<List<Expense>>>`. - Enhanced Room entities (`Expense`, `ExpenseShare`, `User`) with `@PrimaryKey` annotations and added a `Converters` class to handle `List<String>` types. - Expanded `AppDatabase` to include DAOs for `Expense`, `ExpenseShare`, and `User`. - Updated `DashboardScreen` to reactively display loading indicators, error messages, and cached/remote expense data.
ShAp-Planner
ShAp-Planner is a self-hosted app for managing finances, tasks, and data within shared households.
The app is fully open source, lightweight, and can run on small devices like Raspberry Pi or older computers.
Backend: Go
Frontend: Android (Kotlin)
License: CC0 1.0
Installation
You can either build the app from source or download the apk (will be available soon)
License
This work is marked CC0 1.0
Languages
Kotlin
100%