Skip to main content

High-Level Architecture

Backend Structure

The Uniconnect Platform is designed with a modular architecture to ensure scalability, maintainability, and flexibility.

The platform is divided into several key components:

Frontend

  • Web App: A browser-based interface that interacts with the backend services through REST and WebSocket APIs.
  • Desktop App (Uniconnect Edge): A desktop/mobile application that provides access to the system's features, also communicating with the backend via REST and WebSocket APIs.

Backend

API Gateway

  • Acts as the entry point for all client requests, routing them to the appropriate backend services.

Auth Service

  • Handles authentication and authorization of requests, ensuring secure access to the platform's services.

Core Services

  • Campaign Management Service: Manages marketing and communication campaigns, including scheduling, execution, and tracking.
  • Agent Performance Management Service: Monitors and evaluates the performance of customer service agents, providing insights and reports.

Dynamic CRM Services

  • CRM Module Management Service: Manages customer relationship management modules, allowing for customization and configuration of CRM functionalities.

Workflow Engine

  • Event Listener: Acts as a central hub for publishing and subscribing to events within the system.
  • Rule Engine Service: Processes incoming events and triggers actions based on predefined rules.

Data Store

  • PostgresDB: A relational database used for storing persistent data, ensuring data integrity and reliability.

Integration

  • Integration Gateway: Facilitates connectivity with external systems, databases, and APIs.
  • External DBs: External databases integrated with the platform for data exchange.
  • Object Storages: External object storage systems for storing large amounts of unstructured data.
  • External APIs: Third-party APIs integrated with the platform to extend its functionality.

Reporting

  • Cube.js: A reporting and analytics service that provides insights and visualizations based on the platform's data.

Pluggable Integration Hub

  • Pluggable Integration Hub: A flexible integration layer that connects with various external sources and internal services, enabling seamless data flow and interoperability.

Data Flow and Interactions

  • Event Listener: Listens to events and triggers actions in the Rule Engine.
  • Rule Engine: Triggers actions in the Campaign Management Service, Agent Performance Management Service, and CRM Module Management Service based on events.
  • Core Services: Store data in PostgresDB and interact with the Pluggable Integration Hub for integration with external sources.
  • Integration Gateway: Connects with external databases, object storages, and APIs, facilitating data integration and exchange.
  • Cube.js: Integrates with PostgresDB for data reporting and provides insights through the Reporting Service.
  • Frontend Applications: Interact with the API Gateway for API requests and receive authenticated responses from the Auth Service.

Technologies Used

  • Node.js: The runtime environment for executing JavaScript code on the server-side.
  • Express: The web application framework for Node.js, providing a robust set of features for web and mobile applications.
  • TypeScript: A superset of JavaScript that adds static typing, making the code more robust and maintainable.
  • PostgreSQL: The relational database used for storing persistent data.

Integration Layer

  • REST API: Allows external systems and the user interface to interact with the backend services.
  • WebSocket API: Used for real-time communication, pushing updates from the server to the client interfaces.
  • External APIs: Integrates with third-party services to extend functionality.
  • TCP Sockets: Facilitates socket-based communication for real-time data exchange.
  • Database Connectors: Provides connectivity to external databases, allowing for seamless data integration.

Event System

  • Event Listener: Acts as a central hub for publishing and subscribing to events within the system.
  • Rule Engine: Processes incoming events and triggers actions based on predefined rules.

CRM Management

  • Low/No Code Module: Provides a user-friendly interface for creating and managing CRM modules without writing code.
  • Module & Field Manager: Handles the backend logic for managing CRM modules and their fields, storing configurations in PostgreSQL.

User Interface

  • Web UI: A browser-based interface that interacts with the backend services through REST and WebSocket APIs.
  • Uniconnect Edge: A desktop/mobile application that provides access to the system's features, also communicating with the backend via REST and WebSocket APIs.