Skip to content

angu/PersonalFinance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

120 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PersonalFinance

PersonalFinance is an MVP personal finance app with a native iOS client today and a planned web client.

Current Status

The iOS app currently supports local-first manual finance tracking:

  • Dashboard focused on net worth trend with time filtering (MTD, YTD, 6M, All)
  • Accounts as a primary surface:
    • Grouped by account type (Savings, Investments, Pension, Credit Cards)
    • Collapsible type sections with per-type totals
  • Manual accounts:
    • Savings
    • Investments
    • Pension
    • Credit Cards
  • Manual transactions:
    • Income / Expense / Transfer
    • Investment buy/sell transactions
    • Customizable income/expense categories with emoji and color metadata
    • Category picker in transaction forms and category metadata in transaction lists
    • Derived positions for investment-like accounts
    • Time-scoped transaction browsing with period navigation:
      • Scope picker: Year, Month, Week
      • Scope-aware section grouping:
        • Year -> months
        • Month -> days
        • Week -> days
  • Settings:
    • Dashboard display currency preference
    • Manage Categories (Income/Expense) with add/edit/delete and protected Uncategorized
  • Internal-only testing tools (Internal build flavor only), available as an Internal Tools entry under More:
    • Populate random local data
    • Drop local database and reset local preferences

Repository Structure

  • ios/ iOS app (Swift + SwiftUI)
  • ios/Packages/DesignSystem/ local Swift package for design system components/tokens
  • docs/architecture/ architecture docs
  • docs/decisions/ ADRs
  • scripts/ project scripts

Architecture and Decisions

Read these first:

  1. AGENTS.md
  2. docs/architecture/mobile-ios.md
  3. docs/decisions/README.md
  4. Active ADRs in docs/decisions/

iOS Commands

Run from repo root.

Standard

  • Build: scripts/ios.sh build
  • Test: scripts/ios.sh test
  • Design system package tests: scripts/ios.sh package-test
  • Everything: scripts/ios.sh all
  • Build + install + launch in simulator: scripts/ios.sh run-sim

Internal Flavor

  • Build: scripts/ios.sh build --configuration Internal
  • Test: scripts/ios.sh test --configuration Internal
  • Run in simulator: scripts/ios.sh run-sim --configuration Internal

You can also set BUILD_CONFIGURATION=Internal as an environment override.

Product Direction (MVP)

  • Manual-first workflows are intentionally prioritized while provider SDK sync is pending.
  • Provider integrations remain out of scope for current local-only milestones.
  • Cross-platform domain alignment is tracked via ADRs and canonical contract guidance.

Notes

  • Android is out of scope for kickoff.
  • Complex investment analytics and advanced multi-currency edge cases are deferred.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors