How azharrivaldi/catatan-keuangan works
Catatan-Keuangan is an Android personal-finance ledger for tracking income (pemasukan) and expenses (pengeluaran). Users open separate tabbed lists, review formatted totals, add or edit dated entries, and delete individual or all entries. The documented source and tree show the UI, entry forms, view-model layer, and Room persistence components. The view-model and adapter implementations were not sampled, so their internal database wiring and tab-to-fragment dispatch are not drawn.
Main entry points: PengeluaranFragment.java Expense list · PemasukanFragment.java Income list · MainActivity.java Main screen · AddPengeluaranActivity.java Expense form
Components 18
Navigation
- Main screen
app/src/main/java/com/azhar/hitungpengeluaran/view/MainActivity.java - Tab pager
app/src/main/java/com/azhar/hitungpengeluaran/view/ViewPagerAdapter.java
Expense tracking
- Expense list
app/src/main/java/com/azhar/hitungpengeluaran/view/fragment/pengeluaran/PengeluaranFragment.java - Expense rows
app/src/main/java/com/azhar/hitungpengeluaran/view/fragment/pengeluaran/PengeluaranAdapter.java - Expense state
app/src/main/java/com/azhar/hitungpengeluaran/view/fragment/pengeluaran/PengeluaranViewModel.java - Expense form
app/src/main/java/com/azhar/hitungpengeluaran/view/fragment/pengeluaran/add/AddPengeluaranActivity.java - Expense form state
app/src/main/java/com/azhar/hitungpengeluaran/view/fragment/pengeluaran/add/AddPengeluaranViewModel.java
Income tracking
- Income list
app/src/main/java/com/azhar/hitungpengeluaran/view/fragment/pemasukan/PemasukanFragment.java - Income rows
app/src/main/java/com/azhar/hitungpengeluaran/view/fragment/pemasukan/PemasukanAdapter.java - Income state
app/src/main/java/com/azhar/hitungpengeluaran/view/fragment/pemasukan/PemasukanViewModel.java - Income form
app/src/main/java/com/azhar/hitungpengeluaran/view/fragment/pemasukan/add/AddPemasukanActivity.java - Income form state
app/src/main/java/com/azhar/hitungpengeluaran/view/fragment/pemasukan/add/AddPemasukanViewModel.java
Persistence
- Rupiah formatting
app/src/main/java/com/azhar/hitungpengeluaran/utils/FunctionHelper.java - Database client
app/src/main/java/com/azhar/hitungpengeluaran/database/DatabaseClient.java - Room database
app/src/main/java/com/azhar/hitungpengeluaran/database/AppDatabase.java - Ledger queries
app/src/main/java/com/azhar/hitungpengeluaran/database/dao/DatabaseDao.java - Ledger record
app/src/main/java/com/azhar/hitungpengeluaran/model/ModelDatabase.java
Other components
- User
Connections 17
- User → Main screen: opens
- Main screen → Tab pager: sets up
- User → Expense list: views
- User → Income list: views
- Expense list → Expense state: observes
- Expense list → Expense rows: updates rows
- Expense list → Expense form: opens form
- Expense form → Expense form state: submits changes
- Expense list → Rupiah formatting: formats total
- Income list → Income state: observes
- Income list → Income rows: updates rows
- Income list → Income form: opens form
- Income form → Income form state: submits changes
- Income list → Rupiah formatting: formats total
- Database client → Room database: builds
- Room database → Ledger queries: exposes
- Ledger queries → Ledger record: queries records