💰 FinanceApp - Personal Finance Companion

FinanceApp is a lightweight and intuitive mobile application designed to help you master your daily money habits. It transforms the often-stressful task of expense tracking into a simple, engaging, and personal experience.
❓ Problem Statement
In today's fast-paced world, many individuals find it difficult to:
- Track small daily expenses that often go unrecorded in traditional banking apps.
- Visualize spending patterns without complex spreadsheets.
- Stay motivated to reach monthly savings targets.
- Understand financial health at a single glance.
✨ The Solution
FinanceApp provides a personal, structured, and mobile-first approach to finance:
- Immediate Clarity: A clean dashboard showing Balance, Income, and Expenses.
- Effortless Logging: Quick entry for transactions with categories, dates, and notes.
- Visual Wisdom: Charts and insights that turn raw data into actionable knowledge.
- Goal-Oriented: A dedicated space to set and track savings milestones.
🗺️ Project Flow
- Dashboard (Home) 🏠: The entry point where users view their Total Balance, Income, Expenses, and a Weekly Trend chart.
- Transaction Tracking 💸: Users record daily transactions. They can filter by type, search for specific notes, and swipe to delete entries.
- Edit/Add Flow ✍️: A dedicated screen with a Date Picker and Category selector to ensure data accuracy.
- Savings Goals 🎯: Users set a monthly target. The app calculates actual savings in real-time and provides a progress bar.
- Insights 📊: A visual breakdown (Pie Chart) showing the highest spending categories and percentage-based distribution.
🏗️ Architecture & Engineering
The project is built using a Clean Architecture approach with the MVVM (Model-View-ViewModel) pattern:
층 Layer Breakdown:
- UI Layer (Jetpack Compose): Stateless UI components that react to state changes.
- ViewModel (StateFlow): Manages UI state, handles user intent, and ensures data survives configuration changes.
- Repository Pattern: A single source of truth that abstracts the data sources from the UI.
- Data Layer (Room DB): Local SQLite persistence ensuring the app works flawlessly offline.
🛠️ Tech Stack:
- Language: Kotlin (Coroutines + Flow)
- UI: Jetpack Compose (Material 3 Design)
- Navigation: Jetpack Navigation Compose
- Local Storage: Room Persistence Library
- Visuals: Custom Canvas-based Charts (Bar & Pie)
- Theme: Dynamic Light/Dark mode support
🎨 Design Language
- Color Palette: Vibrant Primary Indigo for branding, Emerald Green for Income, and Vivid Red for Expenses.
- Typography: Clean, sans-serif fonts for high legibility on small screens.
- Interactions:
- Swipe-to-Delete: Intuitive list management.
- Segmented Controls: Easy switching between transaction types.
- Haptic Visuals: Color-coded feedback for progress and status.
🚀 Getting Started
- Clone the Repo:
git clone https://github.com/ayush-ranjan9135/financeapp.git
- Open in Android Studio: (Ladybug 2024.2.1 or newer recommended)
- Build & Run: Supports Android 7.0 (API 24) and above.
🤝 Connect with Me
I'd love to hear your feedback or discuss potential collaborations!

Built with ❤️ by Ayush Ranjan.