Zum Hauptinhalt springen

Kundenportal Management Server

πŸ€– Generated with Claude Code

Co-Authored-By: Claude (noreply@anthropic.com)

Overview​

The cca.kundenportal.managementserver is a multi-tenant SPA hosting platform that serves the Kundenportal Angular application. It dynamically selects SPA versions based on CCAOnline compatibility and injects portal-specific configuration.

Repository: cca.kundenportal.managementserver

Key Responsibilities​

ResponsibilityDescription
SPA HostingServes Angular SPA from versioned directories
Version SelectionMatches SPA version to CCAOnline applicationVersion
Config InjectionInjects portal-specific settings (API URLs, auth keys)
Portal ProvisioningCreates new portals via Management API
Health MonitoringChecks CCAOnline availability for each portal

Integration Points​

Outbound (Management Server β†’ External)​

TargetEndpointPurpose
CCAOnline/healthGet applicationVersion for SPA selection
CCAOnline/endcustomer/healthVerify EndcustomerApi health
Azure DevOpsGit repositoryPull/push portal configs and SPA versions

Inbound (External β†’ Management Server)​

SourceEndpointPurpose
Endkunde Browserhttps://{portal}.myversum.atPortal access
CCAOnline Config Page/kundenportale/*Portal management API
Azure DevOps Webhook/_callbacks/HostingRepositoryUpdatedTrigger config refresh

Request Flow Summary​

Endkunde β†’ makler.myversum.at
β”‚
β”œβ”€ KundenportalFeatureMiddleware
β”‚ └─ Resolve SPA version (fixed or from CCAOnline /health)
β”‚
β”œβ”€ KundenportalRoutingMiddleware
β”‚ └─ Rewrite paths to versioned directories
β”‚
└─ Static Files
└─ Serve SPA from git repository

Configuration Injected to SPA​

The management server writes settings.json for each portal:

{
"api": {
"baseUrl": "https://cca.customer.at",
"token": "/endcustomer/token",
"userInfo": "/endcustomer/userinfo"
},
"title": "Makler Kundenportal"
}

Infrastructure​

ComponentResource
Application GatewayTIS-PROD-CCA_Weblight-AppGw (WAF v2)
App ServiceTIS-PROD-CCAKundenportalManagement-WE-APP (P1v3)
NAT GatewayTIS-PROD-CCA_Integration-WE-NAT
Static Outbound IP40.91.210.71
SQL Databasetis-prod-ccakundenportalmanagement-we-sql
CDNTIS-PROD-TISCCAWebApplications-CDN1
Git RepositoryAzure DevOps kundenportal-hosting
Application InsightsTIS-PROD-CCA_Integration-WE-AI01

All resources in West Europe (EU) for GDPR compliance.

β†’ cca.kundenportal.managementserver/docs/INFRASTRUCTURE.md

Detailed Documentation​

For implementation details, middleware pipeline, and git integration:

β†’ cca.kundenportal.managementserver/docs/ARCHITECTURE.md