OneCX Development Documentation

Purpose & Value

  • Orientation: quick overview of areas, concepts, and timelines.

  • Context: positioning of products, UIs, services, and architectures.

  • Paths: targeted entry points for different roles (engineering, operations, product).

Topic Map

  • Platform Overview: vision, product landscape, core components.

  • Architecture & Components: Shell, BFFs, services, data, Traefik.

  • Domain Concepts: tenancy, permissions, profile, theme, workspace.

  • Development Workflows: local setup, generator, CI/CD fundamentals.

  • UI Libraries & Patterns: design system, reuse, best practices.

  • Security & Tenancy: OIDC, Keycloak, tenant context, permissions.

  • Data & Integrations: Postgres, REST APIs, configurations.

  • Operations & Tooling: logs, health checks, Traefik dashboard, profiles.

Entry Paths

  • Beginner: foundational concepts and first working setup.

  • Builder: app creation (manual/CLI), hot reload, multiple apps.

  • Integrator: interplay of UIs and services, routing, profiles.

  • Getting Started: see ./index.adoc[OneCX Getting Started]

  • First Application (overview): ./first-app/create_angular_app.adoc[First Angular App]

  • Manual setup: ./first-app/app_setup_manual.adoc[Manual App Setup]

  • CLI setup: ./first-app/app_setup_cli.adoc[App Setup via CLI]

  • Hot reload: ./first-app/enable_hot_reload.adoc[Enable Hot Reload]

  • Multiple apps: ./first-app/run_multiple_apps.adoc[Run Multiple Apps]

  • Image build (manual): ./first-app/image_build_manual.adoc[Manual Image Build]

  • Image build (automatic): ./first-app/image_build_automatic.adoc[Automatic Image Build]

  • Test core apps: ./first-app/testing_existing_core_apps.adoc[Testing Existing Core Apps]

Practical Tips

  • Traefik uses path prefixes like /mfe/<app>/; align your dev server base href accordingly.

  • Use Docker Compose profiles to start only the services you need.

  • The Traefik dashboard helps analyze routing and health checks.

Conventions

  • Consistent paths, naming conventions, and shared UI patterns ease integration.

  • Prefer reusable libraries from onecx-portal-ui-libs.

Contribute

  • Contributions welcome: add content, report gaps, improve examples.

  • Follow the existing structure and link appropriately.