# learit786-source/mykhata-digital-ledger architecture

> Architecture diagram of the GitHub repository learit786-source/mykhata-digital-ledger, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/learit786-source/mykhata-digital-ledger
- Repository: https://github.com/learit786-source/mykhata-digital-ledger

## Overview

MyKhata is an Android digital khata for small businesses: users record credit and payments, review balances, and manage reminders and reports, with ledger data stored locally. The README describes these capabilities but the sampled source contains no runtime implementation, so connections between screens, state, and storage are intentionally omitted. The tree identifies additional planner, backup, PDF, and biometric modules, but their behavior and wiring are not confirmed by the excerpts.

Main entry points: [`app/src/main/java/com/example/MainActivity.kt`](https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/MainActivity.kt) (Main activity)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["App entry"]
  node_activity["Main activity<br/>[MainActivity.kt]"]
  node_viewmodel["Ledger state<br/>[LedgerViewModel.kt]"]
end

subgraph group_ledger["Ledger data"]
  node_repository["Ledger repository"]
  node_dao["Ledger access<br/>[LedgerDao.kt]"]
  node_database[("Local database<br/>[AppDatabase.kt]")]
  node_transaction_model["Ledger entries"]
  node_party_model["Parties<br/>[Party.kt]"]
  node_business_settings["Business settings"]
  node_salary_data["Planner data"]
end

subgraph group_features["Ledger features"]
  node_home["Home summary<br/>[HomeScreen.kt]"]
  node_party["Party records"]
  node_party_detail["Party passbook"]
  node_transaction["Transactions"]
  node_reminders["Payment reminders<br/>[RemindersScreen.kt]"]
  node_reports["Reports<br/>[ReportsScreen.kt]"]
  node_planner["Salary planner"]
end

subgraph group_support["Supporting features"]
  node_settings["Settings<br/>[SettingsScreen.kt]"]
  node_biometric["Biometric auth"]
end

subgraph group_integrations["Integrations"]
  node_backup["Drive backup"]
  node_pdf["PDF reports<br/>[PdfReportHelper.kt]"]
end

node_owner(("Business owner"))

node_owner -->|"opens app"| node_activity

click node_activity "https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/MainActivity.kt"
click node_home "https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/ui/screens/HomeScreen.kt"
click node_party "https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/ui/screens/AddEditPartyScreen.kt"
click node_party_detail "https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/ui/screens/PartyDetailScreen.kt"
click node_transaction "https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/ui/screens/AddEditTransactionScreen.kt"
click node_reminders "https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/ui/screens/RemindersScreen.kt"
click node_reports "https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/ui/screens/ReportsScreen.kt"
click node_planner "https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/ui/screens/SalaryPlannerScreen.kt"
click node_settings "https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/ui/screens/SettingsScreen.kt"
click node_viewmodel "https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/ui/viewmodel/LedgerViewModel.kt"
click node_repository "https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/data/LedgerRepository.kt"
click node_dao "https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/data/LedgerDao.kt"
click node_database "https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/data/AppDatabase.kt"
click node_transaction_model "https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/data/LedgerTransaction.kt"
click node_party_model "https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/data/Party.kt"
click node_business_settings "https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/data/BusinessSettings.kt"
click node_salary_data "https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/data/SalaryAndPlanner.kt"
click node_backup "https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/utils/GoogleDriveBackupHelper.kt"
click node_pdf "https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/utils/PdfReportHelper.kt"
click node_biometric "https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/utils/BiometricAuthHelper.kt"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_activity,node_viewmodel toneBlue
class node_repository,node_dao,node_database,node_transaction_model,node_party_model,node_business_settings,node_salary_data toneAmber
class node_home,node_party,node_party_detail,node_transaction,node_reminders,node_reports,node_planner toneMint
class node_settings,node_biometric toneRose
class node_backup,node_pdf,node_owner toneIndigo
```

## Components

### App entry

- [Main activity](https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/MainActivity.kt): `app/src/main/java/com/example/MainActivity.kt`
- [Ledger state](https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/ui/viewmodel/LedgerViewModel.kt): `app/src/main/java/com/example/ui/viewmodel/LedgerViewModel.kt`

### Ledger data

- [Ledger repository](https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/data/LedgerRepository.kt): `app/src/main/java/com/example/data/LedgerRepository.kt`
- [Ledger access](https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/data/LedgerDao.kt): `app/src/main/java/com/example/data/LedgerDao.kt`
- [Local database](https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/data/AppDatabase.kt): `app/src/main/java/com/example/data/AppDatabase.kt`
- [Ledger entries](https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/data/LedgerTransaction.kt): `app/src/main/java/com/example/data/LedgerTransaction.kt`
- [Parties](https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/data/Party.kt): `app/src/main/java/com/example/data/Party.kt`
- [Business settings](https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/data/BusinessSettings.kt): `app/src/main/java/com/example/data/BusinessSettings.kt`
- [Planner data](https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/data/SalaryAndPlanner.kt): `app/src/main/java/com/example/data/SalaryAndPlanner.kt`

### Ledger features

- [Home summary](https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/ui/screens/HomeScreen.kt): `app/src/main/java/com/example/ui/screens/HomeScreen.kt`
- [Party records](https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/ui/screens/AddEditPartyScreen.kt): `app/src/main/java/com/example/ui/screens/AddEditPartyScreen.kt`
- [Party passbook](https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/ui/screens/PartyDetailScreen.kt): `app/src/main/java/com/example/ui/screens/PartyDetailScreen.kt`
- [Transactions](https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/ui/screens/AddEditTransactionScreen.kt): `app/src/main/java/com/example/ui/screens/AddEditTransactionScreen.kt`
- [Payment reminders](https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/ui/screens/RemindersScreen.kt): `app/src/main/java/com/example/ui/screens/RemindersScreen.kt`
- [Reports](https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/ui/screens/ReportsScreen.kt): `app/src/main/java/com/example/ui/screens/ReportsScreen.kt`
- [Salary planner](https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/ui/screens/SalaryPlannerScreen.kt): `app/src/main/java/com/example/ui/screens/SalaryPlannerScreen.kt`

### Supporting features

- [Settings](https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/ui/screens/SettingsScreen.kt): `app/src/main/java/com/example/ui/screens/SettingsScreen.kt`
- [Biometric auth](https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/utils/BiometricAuthHelper.kt): `app/src/main/java/com/example/utils/BiometricAuthHelper.kt`

### Integrations

- [Drive backup](https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/utils/GoogleDriveBackupHelper.kt): `app/src/main/java/com/example/utils/GoogleDriveBackupHelper.kt`
- [PDF reports](https://github.com/learit786-source/mykhata-digital-ledger/blob/main/app/src/main/java/com/example/utils/PdfReportHelper.kt): `app/src/main/java/com/example/utils/PdfReportHelper.kt`

### Other components

- **Business owner**

## Connections

- Business owner → Main activity: opens app
