Sunbird UCI
  • Overview of Sunbird UCI
  • 📙Learn
    • UCI use cases
    • UCI for Education(Case study)
    • Tech Overview
      • Glossary
      • High-level Architecture Design
      • Design Principles
      • Standards
  • 🚀Use
    • Choose your Persona
    • Adopter - Install and use UCI
      • Pre-requisites, Installation Setup, Post Setup
      • Setting up your very first conversation
      • API Documentation
      • Data Exhaust and Analytics
      • Posthog Event
      • Whatsapp (Netcore)
      • Environment Variables
    • Developer - Contribute to UCI
      • UCI Basics
        • XMessage Specification
        • Transformers
          • ODK Transformer
            • Interactive-Messages
            • Media Messages
            • Location
          • Broadcast Transformer
        • Adapters
          • Firebase Notification Adapter
        • User Segment
        • Schema Overview
          • UCI Core Schema
            • XMessage Schema
            • Assessment DB Schema
          • UCI API Schema
      • Development environment
        • Backend Setup
        • Setting up IDE
        • Environment variable setup
        • Debug services
        • Build and Execute UCI
        • Frontend Setup (Admin Console)
        • Frontend Setup (PWA)
        • Transport Socket
      • API Documentation
        • Bot Setup APIs
        • History APIs
        • Direct Message APIs
        • Vault APIs
      • Database Schema
        • Cassandra Xmessage Database
        • Postgres Forms Database
        • Postgres User Analytics Database
        • Postgres Comms Database
      • Contribution Guide
        • Your first PR
        • Contribute an Adapter
        • Adapter Implementation
        • Create a Transformer
    • Contact the administrator
  • ✅Releases
    • Release V2
  • 🤝Engage
    • Software License
    • Acceptable Use Policy
    • Terms of Service
    • Source Code
    • Discussion Forum
Powered by GitBook
On this page
  • Getting Started
  • 1. Introduction
  • 2. Overview
  • 3. Prerequisite
  • 4. Setup
  • 5. APIs

Was this helpful?

Edit on GitHub
  1. Use
  2. Developer - Contribute to UCI
  3. Development environment

Backend Setup

PreviousDevelopment environmentNextSetting up IDE

Last updated 2 years ago

Was this helpful?

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. Install Git

    $ sudo apt-get update
    $ sudo apt-get upgrade
    $ sudo apt-get install git
  1. Install Java 11

    $ sudo apt-get install openjdk-11-jdk
  1. Install Docker

    • install docker using installation guide.

  2. Install Cassandra

    • install cassandra using installation guide.

  3. Install Maven

    $ sudo apt-get install maven
  1. Lombok Enabled

  2. Install Kafka, Zookeeper

  3. Install Redis

  1. Install Postgresql

4. Setup

4.1 For first time

  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. Clone all forked repositories

    git clone repository-link
  1. Import all cloned repositories into IDE and checkout to the latest branch Eg. release-4.9.0

  2. If project is not build by default then build using

    $ mvn clean install -U 
  1. Add Enviorment Variable in IDE.

4.2 Routine

  1. Run spring boot application for following projects

    • Inbound

    • Orchestrator

    • Transformer

    • Broadcast Transformer

    • Outbound

5. APIs

5.1 For first time

  1. Import following files to postman :

  2. create new enviorment inbound with properties :

    Variable
    Type
    Initial Value
    Current Value

    baseUrl

    default

    localhost:8085

    localhost:8085

  3. create new enviorment transformer with following properties :

    Variable
    Type
    Initial Value
    Current Value

    baseUrl

    default

    localhost:9091

    localhost:9091

5.2 Routine :

  1. Test bot APIs with :

    Collections
    .
    └── Samagra Inbound - Apis 
                └── Bot - Messages
                        └── ...

Install IDE ( / / )

Enable in Eclipse / STS / intelliJ.

Install (for testing API)

install kafka using installation guide.

Install Redis using installation .

Setup PostgreSQL using guide.

Add projects in IDE

We can run the services via IDE. if you want to run these via terminal or docker use this

To debug these service, we should follow the same routine. to check the detailed overview of debugging services.

Samagra Inbound -

Samagra Transformer -

🚀
docker
cassandra
STS
Eclipse
IntelliJ
lombok
Postman
kafka
guide
Quickstart
link
link
Click here
Apis.postman_collection
Apis.postman_collection