Skip to content

MAUI Mobile Template - Epic Breakdown

Overview

This document provides a high-level breakdown of the MAUI mobile template development into 3 major epics. Each epic represents a significant deliverable that can be tracked independently in Azure DevOps. For detailed task breakdown, see MAUI Mobile Template Backlog Plan.

Total Estimated Duration: 20-26 weeks (5-6.5 months)


Epic 1: MAUI-EPIC-001 - Base MAUI Template Foundation

Status: Not Started
Priority: High
Estimated Duration: 6-8 weeks
Owner: Mobile Platform Team

Epic Description

Create the foundational base template for MAUI mobile applications (ConnectSoft.MauiBaseTemplate) that provides core infrastructure, cross-cutting concerns (logging, localization, telemetry), and minimal abstractions using built-in .NET/MAUI frameworks. This template serves as the foundation for all specialized MAUI templates.

Epic Objectives

  • Create base template repository with complete solution structure
  • Implement core infrastructure using built-in frameworks (ILogger, IStringLocalizer, Shell navigation, SecureStorage, Preferences)
  • Configure cross-cutting concerns (logging, localization, telemetry/observability)
  • Implement application lifecycle management (OnStart, OnSleep, OnResume)
  • Establish testing infrastructure (unit tests, integration tests)
  • Create template metadata configuration (.template.config/template.json)
  • Set up CI/CD pipelines (build, test, template packaging, documentation)
  • Create comprehensive base template documentation

Key Features

  1. MAUI-FEAT-001: Repository & Solution Structure
  2. Initialize repository with solution structure
  3. Configure build quality gates and analyzers

  4. MAUI-FEAT-002: Core Infrastructure

  5. Implement BaseViewModel and BaseService with ILogger
  6. Implement minimal wrappers (DialogService for testability)
  7. Create application host with MauiProgram.cs and AppShell

  8. MAUI-FEAT-003: Cross-Cutting Concerns

  9. Add localization with Resources.resx and IStringLocalizer
  10. Configure ILogger with Microsoft.Extensions.Logging
  11. Configure ConnectSoft.Extensions.Observability for telemetry
  12. Implement application lifecycle management

  13. MAUI-FEAT-004: Testing Infrastructure

  14. Create unit test and integration test projects
  15. Set up test infrastructure and helpers

  16. MAUI-FEAT-005: Template Metadata & CI/CD

  17. Create .template.config/template.json with base parameters
  18. Create Azure DevOps pipelines (main, template packaging, documentation)

  19. MAUI-FEAT-006: Base Template Documentation

  20. Create documentation (overview.md, architecture.md, getting-started.md, AGENTS.md)
  21. Configure mkdocs.yml

Key Deliverables

  • ConnectSoft.MauiBaseTemplate repository
  • Base template solution with all projects
  • Template metadata (.template.config/template.json)
  • CI/CD pipelines
  • Comprehensive documentation
  • NuGet package (when published)

Success Criteria

  • Template can be used via dotnet new to generate new MAUI applications
  • Generated applications build and run on iOS and Android
  • All cross-cutting concerns configured and working
  • Comprehensive test coverage (80%+)
  • Documentation complete and published

Dependencies

  • None (foundational epic)

Epic 2: MAUI-EPIC-002 - MAUI UIKit Library

Status: Not Started
Priority: High
Estimated Duration: 6-8 weeks
Owner: Mobile Platform Team
Dependencies: MAUI-EPIC-001 (can start in parallel after base template structure is ready)

Epic Description

Create ConnectSoft.Maui.UIKit - a reusable UI component library for MAUI applications, similar to ConnectSoft.Blazor.UIKit. The library provides accessible, localized, and themed UI components with design tokens support.

Epic Objectives

  • Create UIKit repository with complete solution structure
  • Implement core UI components (Button, TextField, Dialog, Toast, Card, List, etc.)
  • Implement design tokens system (colors, spacing, typography, themes)
  • Add localization support using IStringLocalizer
  • Implement accessibility features (WCAG 2.1 AA compliance)
  • Create sample app demonstrating all components
  • Create comprehensive testing (unit tests, accessibility tests)
  • Create component documentation
  • Publish NuGet package

Key Features

  1. MAUI-FEAT-007: UIKit Repository & Foundation
  2. Create repository with solution structure

  3. MAUI-FEAT-008: Core UI Components

  4. Implement Button, TextField, Dialog, Toast, Card, List components
  5. Ensure accessibility and theming support

  6. MAUI-FEAT-009: Design Tokens & Theming

  7. Create DesignTokens.xaml with colors, spacing, typography
  8. Support light/dark themes

  9. MAUI-FEAT-010: Localization & Accessibility

  10. Add localization support using IStringLocalizer
  11. Implement accessibility features (WCAG 2.1 AA compliance)

  12. MAUI-FEAT-011: UIKit Testing & Documentation

  13. Create sample app demonstrating all components
  14. Create unit tests and accessibility tests
  15. Create component documentation

Key Deliverables

  • ConnectSoft.Maui.UIKit repository
  • UIKit library NuGet package
  • Sample app demonstrating all components
  • Comprehensive component documentation
  • Design tokens system

Success Criteria

  • UIKit library published as NuGet package
  • All components accessible (WCAG 2.1 AA compliant)
  • All components localized
  • All components support theming
  • Comprehensive test coverage
  • Documentation complete

Dependencies

  • MAUI-EPIC-001 (can start in parallel after base template structure is ready)

Status: Not Started
Priority: High
Estimated Duration: 8-10 weeks
Owner: Mobile Platform Team
Dependencies: MAUI-EPIC-001 (base template must be complete), MAUI-EPIC-002 (UIKit recommended but not required)

Epic Description

Create the full-featured MAUI template (ConnectSoft.MauiTemplate) that extends the base template with production-ready features including API integration, authentication, offline support, and platform features. Update all documentation repositories with mobile template information.

Epic Objectives

  • Create full-featured template repository with base template as submodule
  • Implement application features (Views, ViewModels, Shell navigation)
  • Implement API integration (Refit clients, retry policies, error handling)
  • Implement authentication (MSAL, OAuth2, token management)
  • Implement offline support (SQLite, local database, sync service)
  • Implement platform features (push notifications, biometric auth, camera, location)
  • Create comprehensive testing (unit tests, integration tests, UI tests)
  • Create template metadata (maui.template.extend.json)
  • Create CI/CD pipelines (iOS build, Android build, template packaging)
  • Create comprehensive full template documentation
  • Update all documentation repositories with mobile template information

Key Features

  1. MAUI-FEAT-012: Full Template Repository
  2. Create repository with base template as Git submodule
  3. Set up solution structure

  4. MAUI-FEAT-013: Application Features

  5. Implement Views, ViewModels, and Shell navigation structure

  6. MAUI-FEAT-014: API Integration & Authentication

  7. Implement API integration with Refit clients
  8. Implement authentication with MSAL/OAuth2

  9. MAUI-FEAT-015: Offline Support & Platform Features

  10. Implement offline support with SQLite
  11. Implement platform features (push notifications, biometric, camera, location)

  12. MAUI-FEAT-016: Full Template Testing & CI/CD

  13. Create comprehensive test suite
  14. Create template metadata
  15. Create CI/CD pipelines

  16. MAUI-FEAT-017: Full Template Documentation

  17. Create comprehensive documentation

  18. MAUI-FEAT-018: Documentation Repository Updates

  19. Update all three documentation repositories

Key Deliverables

  • ConnectSoft.MauiTemplate repository
  • Full-featured template solution
  • Template metadata (maui.template.extend.json)
  • CI/CD pipelines (iOS, Android, packaging)
  • Comprehensive documentation
  • Updated documentation repositories

Success Criteria

  • Full template can be used via dotnet new to generate production-ready MAUI applications
  • Generated applications include all features (API, auth, offline, platform features)
  • Applications build and run on iOS and Android
  • Comprehensive test coverage (80%+)
  • All documentation repositories updated
  • Documentation complete and published

Dependencies

  • MAUI-EPIC-001 (base template must be complete)
  • MAUI-EPIC-002 (UIKit recommended but not required)

Epic Dependencies and Sequencing

gantt
    title MAUI Mobile Template Development Timeline
    dateFormat  YYYY-MM-DD
    section Epic 1: Base Template
    Repository & Structure           :2024-01-01, 1w
    Core Infrastructure              :2024-01-08, 2w
    Cross-Cutting Concerns           :2024-01-22, 2w
    Testing Infrastructure           :2024-02-05, 1w
    Template Metadata & CI/CD        :2024-02-12, 1w
    Base Documentation               :2024-02-19, 1w

    section Epic 2: UIKit Library
    UIKit Repository                 :2024-01-15, 1w
    Core Components                  :2024-01-22, 2w
    Design Tokens                    :2024-02-05, 1w
    Localization & Accessibility     :2024-02-12, 2w
    Testing & Documentation          :2024-02-26, 2w

    section Epic 3: Full Template
    Full Template Repository         :2024-02-26, 1w
    Application Features             :2024-03-04, 1w
    API & Authentication            :2024-03-11, 2w
    Offline & Platform Features     :2024-03-25, 3w
    Testing & CI/CD                 :2024-04-15, 2w
    Documentation                    :2024-04-29, 1w
    Doc Repository Updates           :2024-05-06, 1w
Hold "Alt" / "Option" to enable pan & zoom

Parallel Work Opportunities

  • Epic 1 and Epic 2 can run in parallel after Epic 1 foundation is established (around week 2-3)
  • Epic 3 must wait for Epic 1 completion but can start some features in parallel with Epic 2

Critical Path

  1. Epic 1: Base Template Foundation (must complete first)
  2. Epic 2: UIKit Library (can start in parallel after Epic 1 week 2-3)
  3. Epic 3: Full Template (requires Epic 1 completion, benefits from Epic 2)

Resource Requirements

Team Composition

  • Mobile Platform Team:
  • 2-3 Senior .NET MAUI Developers
  • 1 Architect (part-time)
  • 1 QA Engineer (part-time)
  • 1 Technical Writer (part-time)

Skills Required

  • .NET MAUI development experience
  • .NET Core/ASP.NET Core patterns
  • MVVM architecture
  • Mobile platform knowledge (iOS, Android)
  • Template development experience
  • CI/CD pipeline configuration

Infrastructure Requirements

  • Azure DevOps for source control and CI/CD
  • macOS build agents for iOS builds
  • Windows/Linux build agents for Android builds
  • NuGet feed for package publishing
  • Documentation hosting (MkDocs)

Risk Assessment

High Risks

  1. Platform-Specific Issues:
  2. Risk: iOS and Android have different behaviors and requirements
  3. Mitigation: Test on both platforms continuously, document differences

  4. Template Composition Complexity:

  5. Risk: Git submodule and template composition may be complex
  6. Mitigation: Follow established ConnectSoft patterns, thorough testing

  7. Timeline Pressure:

  8. Risk: 20-26 weeks may be aggressive
  9. Mitigation: Prioritize base template, defer non-critical features

Medium Risks

  1. UIKit Component Complexity:
  2. Risk: Creating accessible, localized components is time-consuming
  3. Mitigation: Start with core components, iterate

  4. Documentation Updates:

  5. Risk: Updating three documentation repositories is error-prone
  6. Mitigation: Create update checklist, automate where possible

Success Metrics

Epic 1 Success Metrics

  • Base template generates working MAUI applications
  • All cross-cutting concerns configured and tested
  • Template metadata complete and validated
  • Documentation published and accessible
  • CI/CD pipelines running successfully

Epic 2 Success Metrics

  • UIKit library published as NuGet package
  • All components accessible (WCAG 2.1 AA)
  • All components localized
  • Sample app demonstrates all components
  • Documentation complete

Epic 3 Success Metrics

  • Full template generates production-ready applications
  • All features implemented and tested
  • Applications run on iOS and Android
  • All documentation repositories updated
  • Template ready for production use