Skip to content

feat: Add budget period history feature#157

Open
kiranpuli wants to merge 1 commit intodanilkinkin:masterfrom
kiranpuli:feature/budget-period-history
Open

feat: Add budget period history feature#157
kiranpuli wants to merge 1 commit intodanilkinkin:masterfrom
kiranpuli:feature/budget-period-history

Conversation

@kiranpuli
Copy link
Copy Markdown

@kiranpuli kiranpuli commented Jan 7, 2026

This is a fix for Issue-155

  • Add ability to view past budget periods after starting a new one
  • Automatically archive current period (budget, spent, transactions) when setting a new budget
  • New "Past periods" option in Settings to view archived periods
  • Period detail view shows budget overview and full transaction history

New files:

  • Period entity for storing archived period metadata
  • ArchivedTransaction entity linked to periods via foreign key
  • PeriodDao and ArchivedTransactionDao for data access
  • HistoryRepository for archive business logic
  • ArchiveViewModel for UI state management
  • Archive.kt - list view of archived periods
  • ArchiveDetail.kt - detailed view with transaction history

Database:

  • Migration from version 5 to 6
  • New tables: periods, archived_transactions

UI:

  • Access via Settings → Past periods
Screenshot_20260107_145557 - Period cards show date range, budget, spent, and progress indicator Screenshot_20260107_145830 - Detail view reuses existing WholeBudgetCard and transaction list components Screenshot_20260107_145912

Testing

  • Did manual regression testing to check if anything is breaking - LGTM

- Add ability to view past budget periods after starting a new one
- Automatically archive current period (budget, spent, transactions) when setting a new budget
- New "Past periods" option in Settings to view archived periods
- Period detail view shows budget overview and full transaction history

New files:
- Period entity for storing archived period metadata
- ArchivedTransaction entity linked to periods via foreign key
- PeriodDao and ArchivedTransactionDao for data access
- HistoryRepository for archive business logic
- ArchiveViewModel for UI state management
- Archive.kt - list view of archived periods
- ArchiveDetail.kt - detailed view with transaction history

Database:
- Migration from version 5 to 6
- New tables: periods, archived_transactions

UI:
- Access via Settings → Past periods
- Period cards show date range, budget, spent, and progress indicator
- Detail view reuses existing WholeBudgetCard and transaction list components
@kiranpuli
Copy link
Copy Markdown
Author

@danilkinkin , can you please review this PR?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants