APEX Capabilities Overview
This section maps APEX business capabilities to their technical implementations in the Platform codebase. Each capability represents a complete business function validated against the actual codebase implementation.
What are APEX Capabilities?
APEX Capabilities are business-focused features that provide complete functionality for specific domains. Each capability includes:
- Business Purpose: Clear value proposition and use cases
- Technical Implementation: Validated code components, services, and infrastructure
- Configuration: Setup and customization options
- Integration Points: How it connects with other capabilities
Core Capabilities
Billing Capability
- Business Purpose: Automate invoice creation, payment collection, and financial reporting with customizable billing workflows
- Technical Implementation: APEX Billing Service (
services/Billing/) - Note: Consolidating Transaction Management functionality - Key Components: BillRunService, BillingDataContext, Payment Processing, Transaction Migration, Transaction Management (migrating from deprecated module)
- Features: Invoice generation, payment processing, billing cycles, financial reporting, transaction lifecycle management
- Official Documentation: Billing Capability
Customer Onboarding & SSO
- Business Purpose: Secure customer registration and single sign-on authentication with configurable workflows
- Technical Implementation: Onboarding service libraries (
libs/Onboarding/), OnboardingActor, Azure AD B2C integration - Key Components: OnboardingService, OnboardingActor, OnboardingWebhook, schema validation
- Features: Multi-step registration, configurable workflows, Azure AD B2C authentication, webhook integration
- Official Documentation: Onboarding Capability
Notifications
- Business Purpose: Multi-channel message delivery (email, SMS, WhatsApp, in-app) for user engagement
- Technical Implementation: Notifications.API service (
services/Notifications/) - Key Components: NotificationsController, EmailNotificationController, WhatsAppController, BulkSmsController, UINotificationController
- Features: Email (SendGrid), SMS, WhatsApp, dashboard cards, popup notifications, rate limiting
- Official Documentation: Notifications Capability
Product Management
Product catalog, data quality, and embedding.
- Business Purpose: Deliver digital products and services across multiple applications with minimal overhead
- Technical Implementation: ProductManagement.Durable.Isolated (
services/ProductManagement/) - Key Components: ProductFlowWorkflow, Azure Durable Functions, secure product flows
- Features: Product delivery orchestration, secure data flow, multi-application support
- Official Documentation: Products Capability
Utility Capabilities
Website Builder (UniversalTenant)
- Business Purpose: Create and customize branded websites quickly with minimal configuration
- Technical Implementation: Angular 14 PWA application in Azure DevOps UniversalTenant repository
- Repository: Azure DevOps Platform/UniversalTenant (f2b8e706-f01a-41db-92f5-85efe6901d0d)
- Key Components: Angular 14 frontend, PWA support, Bootstrap 5 styling, JWT authentication
- Features: Custom branding, tenant configuration, custom domains via Azure Front Door, responsive design
- Migration Status: Will be migrated to this repository in the future
- Official Documentation: Website Builder Capability
Styling & Customization
- Business Purpose: Customize tenant appearance and branding with CSS variables and themes
- Technical Implementation: Tenant CSS endpoint (
/static/styles/tenant.css), TenantService.GetTenantCssAsync - Key Components: Tenant-specific CSS loading, StyleSheet properties, CSS caching
- Features: Custom branding, tenant-specific styling, CSS variable overrides
- Official Documentation: Styling Guide
Integration Architecture
Azure Services Integration
- Durable Functions: ProductManagement.Durable.Isolated for stateful workflows
- Service Bus: Azure.Messaging.ServiceBus for reliable messaging (Verifiers, day-end events)
- Container Apps: Microservice hosting and auto-scaling
- Storage: File management and data persistence
Dapr Integration
- Service Invocation: Inter-service communication patterns
- Virtual Actors: ⚠️ Previously TransactionManagement.Dapr.Actors (being migrated to Billing module)
- Pub/Sub Messaging: Event-driven architecture with Dapr.Events
- State Management: Distributed state across microservices
Data Management
- Entity Framework: BillingDataContext and other data contexts
- Caching: Distributed caching with tenant-specific data
- Migration Workers: ⚠️ TransactionManagement migration and data transformation (being consolidated into Billing module)
Getting Started with Capabilities
- Identify Business Needs: Review capability catalog to match business requirements
- Review Technical Implementation: Study the technical documentation for chosen capabilities
- Configure Integration: Set up necessary Azure services and configurations
- Customize Appearance: Apply tenant-specific styling and branding
- Test Complete Workflows: Validate end-to-end functionality
Related Resources
- Official Capability Catalog: APEX Capabilities - Note: Developer documentation on the official site should be disregarded; use this repository's documentation instead
- Developer Onboarding: Azure Services Guide
- Infrastructure Setup: Container Apps Management
- Monitoring: OpenTelemetry Standards
Contributing
When adding new capabilities or updating existing ones:
- Update this overview with business purpose and technical implementation
- Add cross-references to official documentation
- Include integration patterns and configuration examples
- Update the main llms.txt file with new capability references
- Validate all technical details against actual codebase implementation
Was this page useful?