OneCX Architecture Overview

This chapter gives an overview of the fundamental architecture of OneCX.

Core Architecture Principles

  • Microservices- and microfrontend-based architecture: The platform is composed of independent services that can be developed, deployed, and scaled independently.

  • Backend for frontend (BFF): OneCX proposes and uses the backend for frontend pattern for communication between frontend and backend.

  • API-first design: RESTful APIs are used for communication between the frontend and backend, as well as between microservices.

  • Containerization and CI/CD: Services are containerized using Docker, and the project uses GitHub Actions for continuous integration and continuous deployment.

  • Cloud-native architecture: Services are designed to be deployed in cloud environments with Kubernetes for orchestration, ensuring easy scaling and high availability.

Applications

To reduce testing and deployment complexity OneCX uses a concept called application. An application is a versioned bundle of frontends, BFFs, backends. The parts of an application are called apps. An application contains all system parts of a specific subdomain (e.g. user management). The testing and deployment are always done for a complete application. This reduces the effort because it reduces the possible permutations which must be considered.

Workspaces

In OneCX a workspace is a set of settings for a portal for a subset of the users or for a special purpose, e.g. there could be a workspace focusing on administrating the system or one focusing on sales. The number of workspaces in the system is not limited.

A workspace contains the following settings:

  • Name

  • Path to identify the workspace from the URL

  • Theme

  • Menu

  • List of selected applications from the pool of available applications with