OneCX Announcement UI
What is Announcement Management
OneCX Announcement Management refers to the systematic process of capturing, organizing, storing, and retrieving Announcement items.
Overview
OneCX Announcement is a comprehensive solution for managing Announcement items for OneCX products in a user-friendly and efficient manner Announcements contain important news for an organization or user group. They can be shown on the landing page and on a banner at the top of any page. Their visibility may be adjusted, so that individual items can be seen only in relevant workspaces or products.
In this document we are only referring to the OneCX Announcement User Interface (UI) of OneCX Announcement Management.
The user interface (UI) for this Announcement Management component is designed to provide an intuitive and user-friendly experience for managing Announcement items in the cloud-native environment built with Quarkus.
Getting Started
To start developing the OneCX Announcement User Interface, you need to set up your local development environment. It’s recommended that you use WSL as the runtime for your application, as shown in the figure below. If you are using a different runtime, please check that you meet the requirements below.
Prerequisites
Before you begin, ensure you have the following installed:
-
Java Development Kit (JDK) version 17
-
Maven build tool
-
Git
-
Docker + Docker Compose
-
Windows Subsystem for Linux (WSL) - recommended
-
NodeJS
Clone the Repository
Start by cloning the required repositories to your local machine using the following command:
git clone https://github.com/onecx/onecx-announcement-ui.git
git clone https://github.com/onecx/announcement-dev.git
The repository onecx-announcement
contains the source code of
the OneCX Announcement product.
The repository onecx-announcement-ui
contains the source code of
the OneCX Announcement user interface as part of the product.
Update local DNS resolution
Assuming you are using WSL, updating the local host file for local development allows you to map domain names to specific IP addresses, making it easier to test and debug applications using custom domain names instead of IP addresses. To enable multiple services on the same port, we use traefik as a reverse proxy. A running traefik container is therefore essential for your local setup to route your traffic to the appropriate Docker containers based on hostnames.
It is recommended that the WSL host file and the Windows host file are aligned. Unless you have disabled this behaviour, the WSL host file will be automatically generated from the Windows host file when WSL is restarted.
Starting OneCX dependencies
In a local development environment, Docker Compose is used to define and manage multiple containers as a single application stack. It enables developers to easily start, stop, and configure all the necessary services and dependencies required by OneCX Announcement Management using a simple configuration file.
mkdir onecx-announcement
cd onecx-announcement
docker compose up -d traefik postgresdb pgadmin keycloak-app
-
traefik
: Traefik is an ingress controller for Kubernetes deployments that enables dynamic traffic routing and load balancing based on defined rules and configurations. -
postgresdb
: PostgreSQL is an open-source relational database management system. It is used as persistence layer for storing and managing data of OneCX products, providing reliability and scalability. -
pgadmin
: pgAdmin is an open-source administration and development platform that offers a user-friendly graphical interface for managing and interacting with the local PostgreSQL database. This is optional. -
keycloak
: Keycloak is an open-source identity and access management system that simplifies authentication, authorization, and single sign-on for web and mobile applications.