Skip to content
OmarAfifi-CSEPublic

About

πŸ’Έ A sleek, cross-platform personal finance tracker built with Flutter & Supabase. Manage your money seamlessly on mobile, web, and desktop from a single codebase.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

6 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

119 Commits

Folders and files

Repository files navigation

FinFlow Logo

FinFlow App Demo

Spend Smarter, Save More. Your Personal Finance Companion, Everywhere.

A sleek, cross-platform finance tracker built with Flutter and Supabase that runs seamlessly on Mobile, Web, and Windows.

Platform Backend License


FinFlow is a modern, intuitive, and secure application designed to help you take full control of your financial life. Track your income and expenses with ease, categorize your spending, and gain clear insights into your financial habits. Built with a single Flutter codebase, FinFlow delivers a consistent and beautiful native experience across all your devices.

πŸ“Έ A Showcase of FinFlow

FinFlow is a full-featured application designed for a seamless user experience. Click below to view the gallery in your preferred theme.

β˜€οΈ View Light Mode Screenshots

Welcome Aboard

Onboarding

A simple and beautiful onboarding experience to welcome users and highlight the app's value proposition from the very first launch.

Secure Authentication

Sign-In

Robust and secure user sign-up and sign-in powered by Supabase Auth. Your financial data is protected from the start.

Financial Dashboard

Dashboard

The central hub gives you an instant snapshot of your balance, income, and expenses. A live list of recent transactions keeps you up-to-date.

Detailed Transaction View

Transactions By Category

Group transactions by category to see a detailed breakdown of your spending, including the percentage of total expenses.

Effortless Transaction Entry

Add Transaction

An intuitive bottom-sheet interface makes adding income or expenses incredibly fast. Categorize and tag on the fly to maintain perfect records.

Custom Categories

Category Management

Take full control by creating and managing your own spending categories. Tailor the app to fit your unique financial life.

Custom Tags

Tags Management

Further organize your transactions with custom tags, making it easy to track specific projects or events like #Vacation or #Work.

User Profile & Security

Profile Page

View your account information and securely update your password. User control and security are at the core of FinFlow.

πŸŒ™ View Dark Mode Screenshots

Welcome Aboard

Onboarding - Dark Mode

A simple and beautiful onboarding experience to welcome users and highlight the app's value proposition from the very first launch.

Secure Authentication

Sign-In - Dark Mode

Robust and secure user sign-up and sign-in powered by Supabase Auth. Your financial data is protected from the start.

Financial Dashboard

Dashboard - Dark Mode

The central hub gives you an instant snapshot of your balance, income, and expenses. A live list of recent transactions keeps you up-to-date.

Detailed Transaction View

Transactions By Category - Dark Mode

Group transactions by category to see a detailed breakdown of your spending, including the percentage of total expenses.

Effortless Transaction Entry

Add Transaction - Dark Mode

An intuitive bottom-sheet interface makes adding income or expenses incredibly fast. Categorize and tag on the fly to maintain perfect records.

Custom Categories

Category Management - Dark Mode

Take full control by creating and managing your own spending categories. Tailor the app to fit your unique financial life.

Custom Tags

Tags Management - Dark Mode

Further organize your transactions with custom tags, making it easy to track specific projects or events like #Vacation or #Work.

User Profile & Security

Profile Page - Dark Mode

View your account information and securely update your password. User control and security are at the core of FinFlow.


✨ Features

FinFlow is packed with features to make financial management simple and effective.

  • Cross-Platform: A single codebase for a consistent experience on Android, iOS, Web, and Windows.
  • Secure & Complete Authentication: Safe sign-up and sign-in powered by Supabase Auth, including a secure flow for password resets.
  • All-in-One Dashboard: Get an instant snapshot of your total balance, income, and expenses.
  • Advanced Transaction Management: Effortlessly add, edit, and delete records, with powerful filtering by date or category.
  • Insightful Analysis: Instantly see where your money goes with a percentage breakdown of your spending by category.
  • Deep Categorization: Organize your spending your way with custom categories and tags for detailed tracking.
  • Light & Dark Modes: Choose the look that's right for you with beautifully crafted light and dark themes.
  • Smart Connectivity Monitoring: The app intelligently detects your online status to ensure data is always synced and up-to-date.
  • Reliable Data Sync: Your data is securely stored and synchronized across all your devices using the Supabase realtime database.
  • Sleek & Responsive UI: A clean, modern, and user-friendly interface that looks great on any screen size.

πŸ› οΈ Tech Stack & Key Packages

FinFlow is built with a modern and robust stack, leveraging the power of Flutter for the UI and Supabase for the backend. Here are some of the key packages and technologies that make it work:

  • Core: Flutter & Dart
  • Backend as a Service (BaaS): Supabase using supabase_flutter
  • State Management: provider
  • Routing: go_router for a declarative, URL-based navigation system.
  • Key Utility Packages:
    • connectivity_plus: For checking network status.
    • flutter_svg: To render beautiful SVG assets.
    • intl: For date and number formatting.
    • shared_preferences: For simple local data storage.

πŸ“‹ Getting Started

To get a local copy up and running, follow these simple steps.

Prerequisites

Installation & Setup

  1. Clone the repository:

    git clone https://github.com/OmarAfifi-CSE/FinFlow.git
    cd FinFlow
  2. Set up your Supabase Project:

    • Go to Supabase and create a new project.
    • Inside your project, navigate to the SQL Editor and run the schema.sql script from this repository to create the necessary tables and security policies.
  3. Configure Supabase Credentials:

    • Go to your Supabase project's Project Settings > API to find your keys.
    • Open the file lib/main.dart.
    • Paste your Supabase URL and anonKey directly into the Supabase.initialize function:
      // In lib/main.dart
      
      await Supabase.initialize(
        url: 'YOUR_SUPABASE_URL_HERE',
        anonKey: 'YOUR_SUPABASE_ANON_KEY_HERE',
      );
  4. Install dependencies:

    flutter pub get
  5. Run the application:

    flutter run

    You can choose the target device (e.g., Chrome for web, a mobile emulator, or Windows).


🀝 Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“œ License

Distributed under the MIT License. See LICENSE for more information.


Created with ❀️ to make finance tracking accessible to everyone.

About

πŸ’Έ A sleek, cross-platform personal finance tracker built with Flutter & Supabase. Manage your money seamlessly on mobile, web, and desktop from a single codebase.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages