https://github.com/kts-o7/ledgerify
https://github.com/kts-o7/ledgerify
Last synced: 10 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/kts-o7/ledgerify
- Owner: KTS-o7
- License: gpl-3.0
- Created: 2026-01-31T12:36:18.000Z (12 days ago)
- Default Branch: main
- Last Pushed: 2026-01-31T19:08:37.000Z (11 days ago)
- Last Synced: 2026-02-01T01:19:03.062Z (11 days ago)
- Size: 201 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Ledgerify
A personal expense tracker built with Flutter. Simple, fast, and offline-first.
## About
Ledgerify is designed to be a calm, frictionless tool for daily expense tracking. No accounts, no cloud sync, no ads - just a straightforward way to track where your money goes.
### Philosophy: Quiet Finance
Most expense tracking apps feel over-engineered or cluttered with features you don't need. Ledgerify follows a "Quiet Finance" design philosophy:
- **Clarity over decoration** - Numbers are the main content
- **Calm over excitement** - No gamification, streaks, or badges
- **Trust over engagement** - Your data stays on your device
- **Restraint over expression** - Subtle animations, professional tone
## Features
### Expense Tracking
- Add expenses with amount, category, date, and optional notes
- View expenses in reverse chronological order
- Swipe-to-delete gesture
- Edit and delete expenses
- Custom categories support
- Tag expenses for better organization
### Income Tracking
- Track income from multiple sources (salary, freelance, investments, etc.)
- Automatic goal allocation - distribute income to savings goals by percentage
- Recurring income templates for scheduled income
### Recurring Transactions
- Set up recurring expenses (rent, subscriptions, etc.)
- Set up recurring income (salary, dividends, etc.)
- Auto-generate transactions on due dates
- Configurable frequencies (daily, weekly, monthly, yearly)
### Savings Goals
- Create savings goals with target amounts and deadlines
- Track progress with visual indicators
- Automatic contributions from income allocations
- Milestone notifications (25%, 50%, 75%, 100%)
### Budgets
- Set monthly overall budget or per-category budgets
- Visual progress indicators
- Customizable warning thresholds (50-95%)
- Notifications when approaching or exceeding limits
### Analytics
- **Financial Summary** - Total income, expenses, net income, savings rate
- **Income vs Expense Chart** - 6-month side-by-side comparison
- **Category Breakdown** - Donut chart showing spending distribution
- **Spending Trends** - Line chart with daily/weekly/monthly views
- **Monthly Comparison** - Bar chart of monthly totals
- Filter by time period (this month, 3 months, 6 months, year, all time)
### Notifications (Fully Configurable)
- **Budget Alerts** - Warning at customizable threshold, exceeded at 100%
- **Recurring Reminders** - Upcoming expenses/income (1-7 days before)
- **Overdue Reminders** - Notify about missed recurring items
- **Goal Notifications** - Milestone achievements and completions
- **Weekly Summary** - Scheduled spending overview (day & time configurable)
- **Daily Reminder** - Prompt to log expenses (time configurable)
- **Quiet Hours** - No notifications during specified period
### Appearance
- Dark theme (default) - Premium, calm aesthetic
- Light theme - Clean, professional look
- System theme - Follow device settings
### Data & Privacy
- **Offline-first** - Works without internet
- **Local storage** - All data stays on your device
- **No account required** - No sign-up, no cloud sync
- **Export support** - CSV/JSON export (planned)
## Screenshots
```
[Home] [Analytics] [Goals] [Settings]
| | | |
v v v v
-------- -------- -------- --------
|Monthly| |Summary| | Goal | |Theme |
|Total | |Income | |Progress| |--------|
|-------| |Expense| |--------| |Notifi- |
|Recent | |-------| | Add | |cations|
|Expenses| |Charts | | Goal | |--------|
| | | | | | |Data |
-------- -------- -------- --------
```
## Getting Started
### Prerequisites
- Flutter SDK (3.0.0 or later)
- Android Studio / VS Code with Flutter extension
- An Android device or emulator
### Installation
1. Clone the repository:
```bash
git clone https://github.com/KTS-o7/ledgerify.git
cd ledgerify
```
2. Install dependencies:
```bash
flutter pub get
```
3. Generate Hive adapters:
```bash
flutter pub run build_runner build --delete-conflicting-outputs
```
4. Run the app:
```bash
flutter run
```
### Building for Release
```bash
flutter build apk --release
```
The APK will be available at `build/app/outputs/flutter-apk/app-release.apk`
## Project Structure
```
lib/
├── main.dart # App entry point
├── models/
│ ├── expense.dart # Expense model + ExpenseCategory enum
│ ├── budget.dart # Budget model
│ ├── recurring_expense.dart # Recurring expense template
│ ├── goal.dart # Savings goal model
│ ├── income.dart # Income model + IncomeSource enum
│ ├── recurring_income.dart # Recurring income template
│ ├── tag.dart # Tag model for categorization
│ ├── custom_category.dart # User-defined categories
│ └── notification_preferences.dart # Notification settings
├── screens/
│ ├── home_screen.dart # Main dashboard
│ ├── add_expense_screen.dart # Add/edit expense form
│ ├── analytics_screen.dart # Charts and insights
│ ├── goals_screen.dart # Savings goals list
│ ├── recurring_list_screen.dart # Recurring expenses
│ ├── recurring_income_screen.dart # Recurring income
│ ├── settings_screen.dart # App settings
│ └── notification_settings_screen.dart # Notification preferences
├── services/
│ ├── expense_service.dart # Expense CRUD operations
│ ├── income_service.dart # Income CRUD + goal allocation
│ ├── budget_service.dart # Budget management
│ ├── goal_service.dart # Goal tracking
│ ├── recurring_expense_service.dart # Recurring expense logic
│ ├── recurring_income_service.dart # Recurring income logic
│ ├── notification_service.dart # Push notifications
│ ├── notification_preferences_service.dart # Notification settings
│ ├── tag_service.dart # Tag management
│ ├── custom_category_service.dart # Custom category management
│ └── theme_service.dart # Theme persistence
├── widgets/
│ ├── charts/ # Chart widgets (donut, line, bar)
│ ├── monthly_summary_card.dart
│ ├── category_breakdown_card.dart
│ ├── expense_list_tile.dart
│ ├── financial_insights_card.dart
│ └── ...
├── theme/
│ ├── colors.dart # Color palette (dark/light)
│ ├── typography.dart # Text styles
│ ├── spacing.dart # Spacing constants
│ └── theme.dart # Material theme configuration
└── utils/
└── currency_formatter.dart # Indian numbering system formatting
```
## Tech Stack
- **Flutter** - UI framework
- **Hive** - Local NoSQL database (lightweight, fast)
- **fl_chart** - Beautiful charts
- **flutter_local_notifications** - Push notifications
- **timezone** - Scheduled notification support
- **intl** - Date and currency formatting
- **uuid** - Unique ID generation
## Data Models
### Hive Type IDs
| ID | Model |
|----|-------|
| 0 | Expense |
| 1 | ExpenseSource |
| 2 | ExpenseCategory |
| 3 | RecurrenceFrequency |
| 4 | RecurringExpense |
| 5 | Budget |
| 6 | Tag |
| 7 | CustomCategory |
| 8 | Goal |
| 9 | IncomeSource |
| 10 | GoalAllocation |
| 11 | Income |
| 12 | RecurringIncome |
| 13 | NotificationPreferences |
### Categories (Built-in)
- Food & Dining
- Transport
- Shopping
- Entertainment
- Bills & Utilities
- Health
- Education
- Other
### Income Sources
- Salary
- Freelance
- Business
- Investments
- Rental
- Gifts
- Refunds
- Other
## Navigation
The app uses a 5-tab bottom navigation:
| Tab | Screen | Purpose |
|-----|--------|---------|
| Home | HomeScreen | Dashboard, recent expenses, quick add |
| Recurring | RecurringListScreen | Manage recurring expenses |
| Analytics | AnalyticsScreen | Charts, insights, budgets |
| Goals | GoalsScreen | Savings goals tracking |
| Settings | SettingsScreen | Theme, notifications, data |
## Contributing
This is primarily a personal project, but suggestions and bug reports are welcome! Please open an issue first to discuss any changes.
## License
This project is licensed under the GNU General Public License v3.0 - see the [LICENSE](LICENSE) file for details.
## Acknowledgments
Built as a personal tool to track daily expenses without the bloat of commercial apps. Follows a "Quiet Finance" design philosophy - calm, premium, trustworthy.