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
-
Path inside the workspace
-