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
- Technical Requirements - Start here to understand the complete technical specification
- API Documentation - Learn about the REST APIs
- Configuration Guides - Set up your development environment
- Quick Reference - Next steps and quick guides
Setting Up Development Environment
- PowerShell Scripts - Automation scripts
- PostgreSQL Configuration - Database setup
- Aspire Integration - Service orchestration
Documentation Structure
๐ Requirements
- Technical Requirements - Complete technical specification (100% implemented)
- Functional Requirements - Functional requirements specification
๐ก API Documentation
- API Reference - Complete API reference
- Marketing API - Marketing API implementation
- Location API - Location API integration
๐ Location & Movement
- GPS Service - GPS implementation
- Location Tracking - Location tracking system
- Walking/Riding Detection - Movement detection (5 mph threshold)
- Movement State Detection - State detection details
๐ Workflows
- Location-Based Workflows - Location-triggered workflows
- Nearby Businesses - Business discovery workflow
๐๏ธ Architecture
- Mediator Architecture - Architecture refactoring
- SRP Analysis - Single Responsibility Principle
โ๏ธ Configuration
- Aspire Quick Reference - Aspire orchestration
- PostgreSQL Configuration - Database setup
๐ฑ Platform-Specific
- Android - Android-specific documentation
- Windows Desktop - Windows GPS implementation
๐งช Testing
- Test Implementation - Test overview
- Test Coverage - Coverage recommendations
๐ Code Reviews
- Code Review Report - Comprehensive code review
- Recommendations Implementation - Implementation summary
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
- Documentation Issues: Check the README for navigation
- API Questions: See API Documentation
- Configuration: Review Configuration Guides
- Code Reviews: See Code Reviews
Last Updated: 2025-01-08 Project: FunWasHad Framework: .NET 9