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¶
- MAUI-FEAT-001: Repository & Solution Structure
- Initialize repository with solution structure
-
Configure build quality gates and analyzers
-
MAUI-FEAT-002: Core Infrastructure
- Implement BaseViewModel and BaseService with ILogger
- Implement minimal wrappers (DialogService for testability)
-
Create application host with MauiProgram.cs and AppShell
-
MAUI-FEAT-003: Cross-Cutting Concerns
- Add localization with Resources.resx and IStringLocalizer
- Configure ILogger
with Microsoft.Extensions.Logging - Configure ConnectSoft.Extensions.Observability for telemetry
-
Implement application lifecycle management
-
MAUI-FEAT-004: Testing Infrastructure
- Create unit test and integration test projects
-
Set up test infrastructure and helpers
-
MAUI-FEAT-005: Template Metadata & CI/CD
- Create .template.config/template.json with base parameters
-
Create Azure DevOps pipelines (main, template packaging, documentation)
-
MAUI-FEAT-006: Base Template Documentation
- Create documentation (overview.md, architecture.md, getting-started.md, AGENTS.md)
- Configure mkdocs.yml
Key Deliverables¶
ConnectSoft.MauiBaseTemplaterepository- 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 newto 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¶
- MAUI-FEAT-007: UIKit Repository & Foundation
-
Create repository with solution structure
-
MAUI-FEAT-008: Core UI Components
- Implement Button, TextField, Dialog, Toast, Card, List components
-
Ensure accessibility and theming support
-
MAUI-FEAT-009: Design Tokens & Theming
- Create DesignTokens.xaml with colors, spacing, typography
-
Support light/dark themes
-
MAUI-FEAT-010: Localization & Accessibility
- Add localization support using IStringLocalizer
-
Implement accessibility features (WCAG 2.1 AA compliance)
-
MAUI-FEAT-011: UIKit Testing & Documentation
- Create sample app demonstrating all components
- Create unit tests and accessibility tests
- Create component documentation
Key Deliverables¶
ConnectSoft.Maui.UIKitrepository- 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)
Epic 3: MAUI-EPIC-003 - Full-Featured Template & Integration¶
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¶
- MAUI-FEAT-012: Full Template Repository
- Create repository with base template as Git submodule
-
Set up solution structure
-
MAUI-FEAT-013: Application Features
-
Implement Views, ViewModels, and Shell navigation structure
-
MAUI-FEAT-014: API Integration & Authentication
- Implement API integration with Refit clients
-
Implement authentication with MSAL/OAuth2
-
MAUI-FEAT-015: Offline Support & Platform Features
- Implement offline support with SQLite
-
Implement platform features (push notifications, biometric, camera, location)
-
MAUI-FEAT-016: Full Template Testing & CI/CD
- Create comprehensive test suite
- Create template metadata
-
Create CI/CD pipelines
-
MAUI-FEAT-017: Full Template Documentation
-
Create comprehensive documentation
-
MAUI-FEAT-018: Documentation Repository Updates
- Update all three documentation repositories
Key Deliverables¶
ConnectSoft.MauiTemplaterepository- 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 newto 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
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¶
- Epic 1: Base Template Foundation (must complete first)
- Epic 2: UIKit Library (can start in parallel after Epic 1 week 2-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¶
- Platform-Specific Issues:
- Risk: iOS and Android have different behaviors and requirements
-
Mitigation: Test on both platforms continuously, document differences
-
Template Composition Complexity:
- Risk: Git submodule and template composition may be complex
-
Mitigation: Follow established ConnectSoft patterns, thorough testing
-
Timeline Pressure:
- Risk: 20-26 weeks may be aggressive
- Mitigation: Prioritize base template, defer non-critical features
Medium Risks¶
- UIKit Component Complexity:
- Risk: Creating accessible, localized components is time-consuming
-
Mitigation: Start with core components, iterate
-
Documentation Updates:
- Risk: Updating three documentation repositories is error-prone
- 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
Related Documents¶
- MAUI Mobile Template Backlog Plan - Detailed task breakdown
- MAUI Mobile Template Developer Guide - Developer preparation guide
- MAUI Mobile Template Future Enhancements - Future enhancements and missing functionality plan
- Template Architecture Specification - Template architecture
- Template Layering and Reuse - Three-layer architecture
- Template Metadata Composition - Template.json composition