Skip to content

A smart and user-friendly personal finance manager that helps you track, analyze, and control your cash, cards, and debts with ease.

License

Notifications You must be signed in to change notification settings

UserAAR/FinancAAR-Mobile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

49 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
FinancAAR Logo
FinancAAR Finance Manager Badge

Offline-first, privacy-focused personal finance manager built with React Native


Stars Forks Issues License Last Commit

Live Demo Release Notes Documentation Report Bug Request Feature


FinancAAR – Personal Finance Manager

FinancAAR is a cross-platform (Android & iOS) personal-finance manager that helps you track income & expenses, manage debts, analyse spending trends and generate beautifully formatted financial reports – all offline and completely private.
This repository hosts the production-ready source code for the mobile client.


✨ Key Features

Area Highlights
Accounts β€’ Unlimited Cash and Card accounts
β€’ Custom colours & emoji icons
Transactions β€’ Fast add / edit flow with category selector
β€’ Supports income, expense, transfer, debt payment
Debts β€’ Track who you owe & who owes you
β€’ Status updates (paid / unpaid)
Smart Notifications β€’ Daily summary & personalised tips
β€’ Schedules handled locally (works offline)
Security β€’ PIN (4 & 6 digits)
β€’ Biometric unlock (Fingerprint / Face ID)
Analytics β€’ Charts for last 7 days / month / customised ranges
Financial Reports β€’ Multi-select data types (Transactions, Debts, Balances, Categories, Accounts)
β€’ Preset ranges (1 day, 1 week, 1/3/6 months, all time)
β€’ Export to CSV, XLSX, PDF
β€’ Share sheet or direct download to /Download (Android SAF)
Theming β€’ Light / Dark / System
Offline-first β€’ Local SQLite DB (no remote server needed)

πŸ› οΈ Tech Stack

  • React Native 0.79 (Hermes)
  • Expo SDK 53
  • TypeScript 5
  • expo-file-system, expo-print, expo-notifications, expo-secure-store, expo-local-authentication, expo-sqlite
  • React Navigation 7 (Stack & Bottom Tabs)
  • Reanimated 3, Gesture Handler 2
  • Charts – react-native-chart-kit
  • XLSX – xlsx 0.18 (SheetJS)

Folder Structure (simplified)

src/
  components/        # Reusable UI elements (AccountCard, Toast…)
  screens/           # App screens, incl. Settings & Reports modal
  navigation/        # React-Navigation stacks & tabs
  contexts/          # Theme & Auth contexts
  hooks/             # Custom hooks (biometric, secure storage, notifications)
  services/          # Local & push notification helpers
  utils/             # DB wrapper, currency helper, exporter (CSV/XLSX/PDF)
  types/             # Global type declarations

πŸš€ Getting Started

Prerequisites

  • Node.js β‰₯20
  • Expo CLI – npm i -g expo-cli
  • A physical Android / iOS device or simulator/emulator

Local Setup

# 1. Clone repo
$ git clone https://github.com/UserAAR/FinancAAR-Mobile.git && cd FinancAAR-Mobile

# 2. Install deps
$ npm i           # or yarn

# 3. Start dev server
$ npm run start   # Expo dev menu

Press "a" to open Android Emulator, "i" for iOS Simulator or scan QR with Expo Go.

Environment Variables

This project does not require remote API keys.
All storage is local; only system permissions are requested at runtime (Notifications, Storage, Biometric).


πŸ“¦ Building for Production

Android (AAB / APK)

# Install EAS CLI if needed
yarn global add eas-cli   # or npm i -g eas-cli

# Configure (first time only)
eas build:configure

# Cloud build (AAB)
eas build -p android --profile production

The build finishes with a download URL you can attach to a GitHub Release.

iOS (IPA)

eas build -p ios --profile production

Requires Apple ID credentials & certificates (managed by EAS).


πŸ—‚οΈ Database Schema

SQLite tables are created automatically on first run.

Table Fields (excerpt)
accounts id (PK), name, type (cash/card), balance, color, emoji, createdAt
categories id (PK), name, type (income/expense)
transactions id (PK), amount, type, date, title, categoryId (FK), accountId (FK)
debts id (PK), personName, amount, status, date

See src/utils/database.ts for full schema & helper methods.


πŸ” Permissions

Platform When API
Android Export β†’ Download StorageAccessFramework (WRITE_EXTERNAL_STORAGE fallback API < 33)
Android & iOS Reporting β†’ Share expo-sharing
Android & iOS Biometric Login expo-local-authentication
Android & iOS Notifications expo-notifications (foreground & scheduled)

All permissions are requested just-in-time, with graceful handling if denied.


πŸ§‘β€πŸ’» Contributing

  1. Fork & clone repo.
  2. git checkout -b feat/my-feature
  3. Commit with conventional-commit messages.
  4. git push and open a PR.
  5. CI/Lint must pass before merge.

Code Style

  • TypeScript strict
  • ESLint + Prettier configured via Expo defaults.
  • Commit messages follow Conventional Commits.

Issue & Pull Request Workflow

  • Please use the GitHub issue templates located in .github/ISSUE_TEMPLATE when reporting bugs or proposing features. Providing complete information helps us triage and resolve tickets faster.
  • Pull Requests must follow the PR template (.github/PULL_REQUEST_TEMPLATE.md) and complete the checklist before review.
  • For general questions or support, open a thread in GitHub Discussions instead of filing an issue.
  • By participating in this project you agree to abide by our Code of Conduct.
  • Detailed development guidelines are available in CONTRIBUTING.md.

πŸ“š Documentation

Detailed technical documentation now lives in the docs/ directory:

For general questions or implementation discussions, please open a thread in GitHub Discussions.


πŸ“ License

FinancAAR is distributed under a Proprietary License. You may freely download and use the compiled APK for personal, non-commercial purposes. Any other useβ€”including but not limited to reproducing, modifying, or redistributing the source codeβ€”requires prior written permission from UserAAR. See LICENSE for full terms.


πŸ™ Acknowledgements

πŸ“Š FINANCIAL CALCULATION METHODOLOGY

Mathematically Proven Formulas Used:

Net Savings Calculation (Real Wealth Building):

Net Savings = Current Total Assets - Previous Period Total Assets
  • Source: Standard financial accounting principles
  • Why Accurate: Measures actual wealth accumulation, not just cash flow
  • Implementation: database.calculateNetSavings()

Savings Rate Calculation (Industry Standard):

Savings Rate = (Net Savings / Gross Income) Γ— 100
  • Source: Financial Independence community standards, CFP Board recommendations
  • Why Accurate: Shows true percentage of income building wealth
  • Implementation: database.calculateSavingsRate()

Cash Flow Savings Rate (Traditional Method):

Cash Flow Rate = ((Income - Expenses) / Income) Γ— 100
  • Source: Traditional budgeting methods
  • Use Case: Month-to-month spending analysis
  • Limitation: Doesn't account for asset changes or transfers

Financial Health Score (0-100 Composite):

Health Score = Savings Rate (40%) + Net Savings (30%) + Trend (20%) + Balance (10%)
  • Methodology: Weighted composite based on financial planning best practices
  • Benchmarks:
    • 80-100: Excellent financial health
    • 60-79: Good financial health
    • 40-59: Fair, needs improvement
    • 0-39: Poor, requires immediate attention

Data Sources & Accuracy:

  • βœ… All Account Balances: Real-time from user's actual accounts
  • βœ… All Transactions: Complete transaction history
  • βœ… Category Spending: Accurate categorized expenses
  • βœ… Income Tracking: All income sources recorded
  • βœ… Time Periods: 3-month, 6-month, 1-year analysis

Mathematical Verification:

  • βœ… Zero Sum Principle: All money flows tracked
  • βœ… Double Entry: Account balance changes = transaction totals
  • βœ… Period Consistency: Calculations verified across time periods
  • βœ… Industry Standards: Formulas match financial planning guidelines

Features

Why FinancAAR?

  • ✨ Offline-First Personal Finance – All data is stored locally using SQLite; no servers, no tracking.
  • 🏦 Unlimited Accounts – Create as many Cash and Card accounts as you need with custom colours & emoji icons.
  • πŸ’Έ Comprehensive Transactions – Fast add / edit flow supporting income, expense, transfer and debt payment types.
  • 🀝 Debt Management – Track who you owe (or who owes you), with status updates and visual summaries.
  • πŸ“Š Advanced Analytics – Interactive charts for the last 7 days, month or any custom range; spot spending trends instantly.
  • 🧠 AI Insights – AI-powered analysis delivers actionable tips to optimise your budget (processed fully on-device).
  • πŸ”” Smart Notifications – Daily summary & personalised suggestions, scheduled locally so they work even when offline.
  • πŸ” Solid Security – 4- & 6-digit PIN, plus biometric unlock (Fingerprint / Face ID).
  • πŸ“‘ Rich Reporting & Export – Generate beautifully formatted CSV, XLSX and PDF reports; share via system sheet or save directly to /Download.
  • 🎨 Dynamic Theming – Light, Dark & System modes with instant switching.
  • πŸš€ Cross-platform – Runs smoothly on Android & iOS, thanks to Hermes & Reanimated 3 optimisations.
  • πŸ“ˆ Financial Health Score – Composite metric (0-100) based on savings rate, net savings & balance trends.

πŸš€Take charge of your financial journey with FinancAAR–where your money is in control and your future is secureπŸ’°

About

A smart and user-friendly personal finance manager that helps you track, analyze, and control your cash, cards, and debts with ease.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project