Sunbird UCI
Search
⌃K

Backend Setup

Getting Started

1. Introduction

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.

2. Overview

This Document help you to Setup UCI (Unified Communications Interface) Project and test APIs on your local machine.

3. Prerequisite

  1. 1.
    Install Git
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install git
  1. 1.
    Install Java 11
$ sudo apt-get install openjdk-11-jdk
  1. 1.
    Install Docker
    • install docker using docker installation guide.
  2. 2.
    Install Cassandra
    • install cassandra using cassandra installation guide.
  3. 3.
    Install Maven
$ sudo apt-get install maven
  1. 1.
    Install IDE (STS / Eclipse / IntelliJ)
  2. 2.
    Lombok Enabled
    • Enable lombok in Eclipse / STS / intelliJ.
  3. 3.
    Install Postman (for testing API)
  4. 4.
    Install Kafka, Zookeeper
    • install kafka using kafka installation guide.
  5. 5.
    Install Redis
  • Install Redis using installation guide.
  1. 1.
    Install Postgresql

4. Setup

4.1 For first time

  1. 1.
    Fork following repositories
https://github.com/samagra-comms/dao
https://github.com/samagra-comms/utils
https://github.com/samagra-comms/message-rosa
https://github.com/samagra-comms/adapter
https://github.com/samagra-comms/outbound
https://github.com/samagra-comms/orchestrator
https://github.com/samagra-comms/inbound
https://github.com/samagra-comms/transformer
https://github.com/samagra-comms/broadcast-transformer
  1. 1.
    Clone all forked repositories
git clone repository-link
  1. 1.
    Import all cloned repositories into IDE and checkout to the latest branch Eg. release-4.9.0
  2. 2.
    If project is not build by default then build using
$ mvn clean install -U
  1. 1.
    Add projects in IDE link
  2. 2.
  3. 3.
    We can run the services via IDE. if you want to run these via terminal or docker use this link

4.2 Routine

  1. 1.
    Run spring boot application for following projects
    • Inbound
    • Orchestrator
    • Transformer
    • Broadcast Transformer
    • Outbound
  2. 2.
    To debug these service, we should follow the same routine. Click here to check the detailed overview of debugging services.

5. APIs

5.1 For first time

  1. 1.
    Import following files to postman :
  2. 2.
    create new enviorment inbound with properties :
    Variable
    Type
    Initial Value
    Current Value
    baseUrl
    default
    localhost:8085
    localhost:8085
  3. 3.
    create new enviorment transformer with following properties :
    Variable
    Type
    Initial Value
    Current Value
    baseUrl
    default
    localhost:9091
    localhost:9091

5.2 Routine :

  1. 1.
    Test bot APIs with :
Collections
.
└── Samagra Inbound - Apis
└── Bot - Messages
└── ...