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.