Unified Communication Interface

ci badges cypress version

About UCI 📖

The Unified Communications Interface (UCI) aims to democratize the use of different communication channels such as WhatsApp, Telegram, SMS, email and more for governance use cases through a standard configurable manner that is reusable and scalable across all governance use cases.

Features 🎯

  • Ability to connect to any communication channel through any service provider without doing custom changes in the core logic UCI.
  • The UCI ecosystem is independent of external variables like communication channel and service provider powered by XMessage standard.
  • Ability to have a configurable conversation logic for the bot
  • Ability to connect to any database (local or federated) via services
  • Ability to include value added services in the bot interaction flow through Microservices (Internal or External)
  • Ability to create tools on top of UCI APIs to manage Bot configuration, conversations and visualization

Requirements 📜

NodeJS and NPM or yarn

Installation 🚶

1. Fork it 🍴

You can get your own fork/copy of UCI by using the Fork button.

2. Clone it 👥

You need to clone (download) it to a local machine using

git clone https://github.com/Your_Username/uci-web-channel.git

This makes a local copy of the repository in your machine.

Once you have cloned the uci-web-channel repository in GitHub, move to that folder first using the change directory command.

# This will change directory to a folder uci-web-channel
cd uci-web-channel

Move to this folder for all other commands.

3. Set it up ⬆️

Run the following commands to see that your local copy has a reference to your forked remote repository in GitHub :octocat:

git remote -v

origin  https://github.com/Your_Username/uci-web-channel.git (fetch)
origin  https://github.com/Your_Username/uci-web-channel.git (push)

4. Create a new .env file and copy contents from .env.sample 📂

cp .env.sample .env

The websocket connection URL for the plaground can be used for testing - wss://comms-playground.samagra.io for the REACT_APP_TRANSPORT_SOCKET_URL.

5. Run it 🏁

Run yarn start

Designs

Below are the designs of how output screens will look like. For more detailed view you can checkout the Figma file. Designs

Contributing

We really like contributions in several forms, see CONTRIBUTING.md