Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

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

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages