Aura Finance empowers users to manage finances effortlessly while providing deep insights. Here's what makes it stand out:
-
π Intuitive Dashboard & Expense Breakdown:
- Instant overview of total expenses with a responsive, animated pie chart showing category-wise distribution.
- Detailed legend with full category names, amounts, and percentagesβno truncations for clarity.
- Unique visual elements like gradient-filled sections and interactive insights (e.g., "Highest spending in Utilities β Consider reviewing!").
-
π Advanced Analytics & Trends:
- Interactive bar chart for analyzing expenses over customizable periods: 1 Month, 3 Months, 6 Months, 1 Year, or All-Time.
- Percentage change comparisons between periods for spotting trends (e.g., +20% spending increase).
- Date range display and no-data handling for a polished experience.
-
βοΈ Seamless Expense Management:
- Add, edit, or delete expenses via a persistent, user-friendly bottom sheet form with date picker, category selection, and notes.
- Supports multiple categories (e.g., Subscriptions, Food, Transportation, Utilities) with color-coded icons for quick recognition.
- Effortless tracking with real-time updates and animations for smooth interactions.
-
π Smart Search & Filtering:
- Built-in search bar to instantly filter expenses by title or notes.
- Category-specific views: Tap a category in the dashboard to drill down into filtered lists and analytics.
-
π¨ Customization & Accessibility:
- Theme switching: Light mode for a clean, vibrant look or Dark mode for low-light comfort.
- Currency support: Switch between USD ($) and EGP (EΒ£) with real-time symbol and formatting updates.
- Language localization: English and Arabic support using
intlfor date formatting and UI text. - Persistent settings saved via
shared_preferencesfor a personalized experience across sessions.
-
π‘οΈ Data Persistence & Privacy:
- All data stored locally using Hiveβa fast, lightweight NoSQL databaseβensuring offline access and privacy (no cloud dependency).
- Automatic backups and error handling for reliable data management.
-
π± User-Friendly Extras:
- Splash screen with staggered animations and gradient background for a premium onboarding feel.
- Feedback tools: In-app review request and email contact to the developer.
- Responsive design: Adapts to different screen sizes with LayoutBuilder and MediaQuery for optimal viewing on mobile devices.
These features highlight the app's strengths: user-centric design, performance optimisation, and insightful analytics, making it more than just a trackerβit's a tool for financial awareness.
This project exemplifies professional Flutter development, focusing on clean code, scalability, and best practices. It's ideal for a portfolio to demonstrate expertise in:
- State Management: Reactive and efficient using GetX for controllers (e.g.,
ExpenseControllerfor CRUD operations,SettingsControllerfor theme/currency/language). - Data Storage: Persistent local storage with Hive (NoSQL database) and adapters for custom models like
ExpenseandCategory. - Data Visualization: Interactive charts via fl_chartβpie for breakdowns (with gradients, animations, and custom painters) and bar for trends.
- UI/UX Enhancements:
- Custom themes (light/dark) defined in
themes.dartfor consistent styling. - Animations with flutter_staggered_animations for smooth transitions (e.g., slide/fade on load).
- Responsive layouts using
LayoutBuilder,MediaQuery, andObxfor reactive updates.
- Custom themes (light/dark) defined in
- Internationalization: Date formatting with intl and basic language support (English/Arabic).
- Additional Integrations:
- flutter_native_splash and flutter_launcher_icons for branded launch experience.
- in_app_review for user feedback and url_launcher for emailing the developer.
- auto_size_text for adaptive text sizing in legends.
- Architecture: Feature-based organization (models, controllers, widgets) promoting separation of concerns, testability, and maintainability.
- Performance: Lightweight dependencies, efficient queries (e.g., filtered expense lists), and error handling (e.g., Hive init errors).
- Dependencies Highlights: Core: Flutter, GetX, Hive. Utilities: uuid for IDs, path_provider for storage paths.
This setup showcases skills in full-stack mobile development, from UI design to data persistence, while keeping the app lightweight (under 10MB APK).
To run this project locally, follow these steps:
- Clone the repository:
git clone https://github.com/mohany203/Personal-Expense-Tracker.git
- Navigate to the project directory:
cd Personal-Expense-Tracker - Install dependencies:
flutter pub get
- Generate Hive adapters (required for data persistence):
flutter packages pub run build_runner build --delete-conflicting-outputs
- Run the app:
flutter run
The project follows a standard Flutter project structure, with the core logic located in the lib directory:
personal_expenses/
βββ lib/
β βββ chart/ # Contains all chart widgets (pie, bar)
β βββ controllers/ # GetX controllers (business logic)
β βββ models/ # Data models (Expense, Category)
β βββ themes/ # Custom theme data
β βββ widgets/ # Reusable UI components and screens
β βββ main.dart # App entry point
βββ assets/ # App icons and images
βββ screenshots/ # Screenshots for README
βββ pubspec.yaml # Project dependencies and configuration
Contributions are welcome! If you have any ideas, suggestions, or bug reports, please feel free to open an issue or submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.