technical docs

Databases

Legacy

DyanamoDB database, on AWS ap-south-1

Stores:

  • Conversations, Messages, and Reminder Schedules for Alpha, V1, and V1.1 Engines.
  • Dashboard Bot Entries
  • Dashboard Organization Data

Master

MongoDB database, on MongoCompass

Stores:

  • Conversations, Messages (And Their statuses), and Reminder Schedules for V2
  • Bot Flows for V2
  • Event Data (Including data for Mixpanel)
  • Analytics Data
  • Campaign Tracking Data
  • Support Conversation Data
  • Token, and Engine Organization Data
  • Configs for Conversation Sources.

Services

Dashboard Frontend

URL: dashboard.workhack,io / dashboard-staging.workhack.io

On AWS EC2 in ap-south-1 hosted with nginx

ReactJS

Dashboard Backend

URL: [Redacted]

On AWS EC2 in ap-south-1

Python + FastAPI. Connects to Both Databases.

REST API

OAuth2.0 Authentication Using Auth0

Handles:

  • Fetching data for the dashboard
  • Analytics
  • Preprocessing Invites before forwarding to the Conversation Engine
  • Campaign Management
  • Preprocessing Support, and Manual Messages before forwarding to the Conversation Engine

Conversation Engine

URL: engine.workhack.io

On AWS EC2 in ap-south-1

Python + FastAPI. Connects to Both Databases.

Has Alpha, V1, V1.1, and V2 Engines.

REST API

OAuth2.0 Authentication on Orgs in MongoDB

Handles:

  • Unified Replier which forwards User messages, to the respective engines.
  • Processing Incoming, and Outgoing Messages from various sources
  • Processing, tracking, and replying to incoming messages
  • Scheduling and Running Reminders
  • Authentication for Engine Orgs.

Integrations API

URL: api.worhack.io

On AWS EC2 in ap-south-1

Python + FastAPI. Connects to MongoDB

REST API

OAuth2.0 Authentication with the Conversation Engine

Handles:

  • Data Ingestion from external services and Clients
  • Simplified Integration API for clients

Helper API

URL: Unexposed

On AWS EC2 in ap-south-1

Python + FASTAPI. Connects to both databases

REST API

Requires Authentication with the Conversation Engine.

Helper Functions for the conversation engine.

Handles:

  • Recommendations
  • Support Queries
  • Test Progress Status Check
  • Scheduling Tasks Like word of the day

OCR API

URL: Unexposed

On AWS EC2 in ap-south-1

NodeJS + Express

RESP API

Provides OCR Service

Socket Server

URL: socket.workhack.io

REST API + WebSockets API

Provides a Socket Service to integrate Widgets and other external services with the workhack conversation engine.

Notes

Source refers to services that allow us to interactive with the user, like Dialog360 for whatsapp or our Widget Socket Server

Reminders refer to any scheduled task running on the reminder engine. Usually these are reminders, but can also be things like auto skipping, checking for test statuses, etc.