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
  • 1. Introduction
  • 2. Table Schema

Was this helpful?

Edit on GitHub
  1. Use
  2. Developer - Contribute to UCI
  3. Database Schema

Cassandra Xmessage Database

1. Introduction

At UCI, we leverage Cassandra as our database solution due to its distributed nature and remarkable data access speed. Cassandra's ability to distribute data across nodes enables seamless parallel data access, enhancing both read and write performance. we maintain a comprehensive history of bot conversations using the following schema.

2. Table Schema

  • Table Name - XMessage

Column Name
Type
Description

id

UUID

Unique identifier for the record.

userId

Text

User identifier associated with the message.

fromId

Text

Identifier for the sender of the message.

channel

Text

Channel through which the message was sent.

provider

Text

Provider of the messaging service.

timestamp

LocalDateTime

Date and time when the message was timestamped.

messageState

Text

Current state or status of the message.

xMessage

Text

Content of the message.

app

Text

App is the name of bot

auxData

Text

Currently not using

messageId

Text

Unique identifier for fcm callback.

replyId

Text

We can store id which provied by your provider like gupshup, netcore etc.

causeId

Text

Same as the messageId

sessionId

UUID

Random UUID

ownerOrgId

Text

Identifier for the owning organization.

ownerId

Text

Identifier for the owner of the message.

botUuid

UUID

Unique identifier for the associated bot.

tags

List < Text >

List of tags or labels associated with the message.

respMsgId

Text

Identifier for a response message (FCM uses).

remarks

Text

Additional remarks or comments about the message.

---

PreviousDatabase SchemaNextPostgres Forms Database

Last updated 1 year ago

Was this helpful?

🚀