Table of Contents

FunWasHad Documentation

Welcome to the FunWasHad project documentation. This site provides comprehensive documentation for the FunWasHad mobile application and backend services.

Overview

FunWasHad is a location-based mobile application built with:

  • .NET 9 - Target framework
  • AvaloniaUI - Cross-platform mobile UI
  • ASP.NET Core - Backend REST APIs
  • PostgreSQL - Backend database
  • SQLite - Mobile local storage
  • .NET Aspire - Service orchestration

Quick Start

For New Developers

  1. Technical Requirements - Start here to understand the complete technical specification
  2. API Documentation - Learn about the REST APIs
  3. Configuration Guides - Set up your development environment
  4. Quick Reference - Next steps and quick guides

Setting Up Development Environment

  1. PowerShell Scripts - Automation scripts
  2. PostgreSQL Configuration - Database setup
  3. Aspire Integration - Service orchestration

Documentation Structure

๐Ÿ“‹ Requirements

๐Ÿ“ก API Documentation

๐Ÿ“ Location & Movement

๐Ÿ”„ Workflows

๐Ÿ—๏ธ Architecture

โš™๏ธ Configuration

๐Ÿ“ฑ Platform-Specific

๐Ÿงช Testing

๐Ÿ“ Code Reviews

Key Features

Location Tracking

  • Real-time GPS tracking with platform-specific implementations
  • Movement state detection (Stationary, Walking, Riding)
  • Activity tracking with comprehensive statistics
  • Speed calculation and unit conversions

Workflow Engine

  • PlantUML-based workflow definitions
  • Location-triggered workflows
  • Address-keyed workflow state management
  • Automatic workflow resumption

Backend APIs

  • Location API for device tracking
  • Marketing API for business data
  • Feedback API with attachment support
  • Complete REST API documentation

Data Persistence

  • PostgreSQL for backend (with Docker volumes)
  • SQLite for mobile (offline-first)
  • Automatic database migrations
  • UTC timestamp handling

Architecture

The application follows a clean architecture pattern:

  • Mobile Client - AvaloniaUI with offline-first SQLite
  • Backend APIs - ASP.NET Core REST APIs
  • Shared Libraries - Common functionality (Location, Chat, Workflow, Imaging)
  • Data Layer - Entity Framework Core with PostgreSQL/SQLite
  • Orchestration - .NET Aspire for local development

Requirements Compliance

โœ… 100% Complete - All 81 technical requirements implemented

  • Architecture & Orchestration: 100%
  • Solution Components: 100%
  • Data Storage: 100%
  • Location Tracking: 100%
  • API Requirements: 100%
  • Quality & Testing: 100%

See Technical Requirements for complete details.

Getting Help


Last Updated: 2025-01-08 Project: FunWasHad Framework: .NET 9