Skip to content

stoyantsiparov/GoalFlow-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🎯 GoalFlow - Personal Growth & Habit Tracker

GoalFlow is a cross-platform mobile application developed with .NET MAUI, designed to help users set goals, track habits, and monitor their personal progress through a gamified system.

The project demonstrates a complete mobile solution featuring local data persistence, REST API integration, and a clean, user-friendly interface.


✨ Key Features

1. 📋 Goal Management & Logic

  • Goal Types: Support for various categories: Finance 💰, Education 🎓, Health 💪, and Personal 🧘.
  • Smart Frequency System: Goals can be set as Daily, Weekly, Monthly, or One-time (by Date).
  • Smart "To-Do" Filtering: The app intelligently filters tasks for the current day.
    • Example: If a "Weekly" goal is already achieved for the current week, it disappears from the daily view until the next week starts.

2. ☁️ Dashboard & External Services (APIs)

The application integrates 3 external REST APIs to provide real-time utilities:

  • Weather Info: Real-time weather updates for any city (supports Cyrillic input) via OpenWeatherMap API.
  • Currency Converter: Live exchange rates (e.g., USD/EUR to BGN) using Open Exchange Rates API.
  • Daily Motivation: Fetches random inspirational quotes via DummyJSON.

3. 💾 Data Persistence (JSON Storage)

  • No SQL Database required: Uses a lightweight, file-based approach suitable for personal mobile apps.
  • Implementation: Custom DataService utilizing System.Text.Json for serialization and deserialization.
  • Technical Highlight: Handles complex object cycles (Goal <-> Achievement relationships) using ReferenceHandler.IgnoreCycles.

4. 🏆 Gamification & Statistics

  • Points System: Users earn points (XP) for every completed goal.
  • History: Detailed log of all achievements with timestamps.
  • Visual Feedback: Interactive UI elements to celebrate progress.

5. 🎨 Architecture & UI

  • Design: Custom "Natural" theme (Green/White palette) for a calming user experience.
  • Architecture: Implements Dependency Injection (DI) for services (ApiService, DataService) and Pages within MauiProgram.cs.
  • MVVM Pattern: Separation of logic and UI using Data Binding (ObservableCollection) and Command parameters.

🛠️ Tech Stack

  • Framework: .NET MAUI (.NET 8)
  • Language: C#
  • Data Storage: Local File System (JSON)
  • Networking: HttpClient (REST API)
  • Tools: Visual Studio 2022, Android Emulator / Windows Machine

📥 How to Run the Project

  1. Clone the repository:
    git clone [https://github.com/stoyantsiparov/GoalFlow-App.git](https://github.com/stoyantsiparov/GoalFlow-App.git)
  2. Open the project: Open GoalFlowApp.sln in Visual Studio 2022.
  3. Restore Dependencies: Visual Studio should automatically restore NuGet packages. If not, run:
    dotnet restore
  4. Run: Select your target (e.g., Windows Machine or Android Emulator) and press F5. Note: No database setup is required. The app will automatically create the necessary JSON data files on the first launch.

About

GoalFlow is a cross-platform mobile application for managing personal goals, habits, and daily tasks with gamification elements. Built with .NET MAUI.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages