A modern microservices-based omni-channel engagement system built with:
Omni-Engage provides a unified dashboard where support agents can manage conversations from Facebook, WhatsApp, Instagram, Email, Chat, and more — all in one place.
Omni-Engage is a next-generation cloud-native omni-channel engagement platform engineered for organizations that require high availability, scalable microservices, and real-time customer interaction management.
Powered by a modern microservices architecture—built on Spring Boot, React, and TiDB Distributed SQL—Omni-Engage consolidates customer conversations across Facebook, WhatsApp, Instagram, Email, Chat, and Telephony into one unified, intelligent dashboard.
Designed for mission-critical customer support operations, Omni-Engage provides:
- ⚡ Low-latency APIs optimized for enterprise scale
- 🔄 High-throughput ingestion pipelines for multi-channel workloads
- 🧠 Intelligent routing & agent workload balancing
- 🔍 Advanced filtering, auditability, and analytics-ready event streaming
- ☁️ Production cloud deployments on Render & Vercel with CI/CD
- 🌐 Horizontally scalable distributed SQL backend powered by TiDB Cloud
Inspired by platforms like Zendesk, Freshdesk, Intercom, and Salesforce Service Cloud, Omni-Engage demonstrates how leading enterprises architect modern omni-channel systems in 2025 and beyond.
Omni-Engage is not just a project — it is a complete enterprise product blueprint built using real-world architectural patterns.
- 🧩 Architecture Overview
- 🚀 Getting Started
- ⚙️ Tech Stack
- 🧠 Core Features
- 🧪 API Testing
- 🚦 Load Testing
- 🌐 Monitoring & Uptime
- 📦 Deployment Guide
- 📈 Future Enhancements
- 👩💼 Author
Omni-Engage follows a scalable microservices architecture with clear separation of concerns.
| Component | Responsibility | Technology | Deployment |
|---|---|---|---|
| Agent Service | Agents, conversations, messages, assignment logic | Spring Boot 3 | Render / Docker |
| Ingestion Service | Receives messages from external channels (FB, IG, WhatsApp) | Spring Boot 3 | Render / Docker |
| Agent Dashboard | Web UI for agents | React 18 | Vercel |
| Distributed SQL DB | Stores conversations, agents, messages | TiDB Cloud | Serverless |
Facebook / IG / WhatsApp / Email
│
┌────────▼─────────┐
│ Ingestion Service │
└────────┬─────────┘
│ REST
┌────────▼──────────┐
│ Agent Service │─── TiDB Cloud (MySQL-Compatible)
└────────┬──────────┘
│ REST APIs
┌────────▼─────────┐
│ React Dashboard │ (Vercel)
└───────────────────┘
- Java 17
- Spring Boot 3.x
- MySQL 8+ / TiDB Cloud
- Maven 3.9+
- Docker Desktop (recommended)
git clone https://github.com/Pranjali784/omni-engage.git
cd omni-engage
cp .env.example .env
docker compose up -d --build| Service | URL |
|---|---|
| Dashboard (Frontend) | http://localhost:3000 |
| Agent API | http://localhost:8081 |
| Ingestion API | http://localhost:8080 |
| Agent Health Check | http://localhost:8081/actuator/health |
| Ingestion Health Check | http://localhost:8080/actuator/health |
- Java 17
- Spring Boot 3.3
- JPA/Hibernate
- REST APIs
- MySQL / TiDB Cloud
- Docker
- React 18
- Axios
- Bootstrap / Custom CSS
- Docker Compose
- Render
- Vercel
- UptimeRobot (Monitoring)
- Availability tracking
- Auto-assignment with locking
- Prevents race conditions
- Create / Close / Reopen
- Timestamped messages
- Channel-specific sorting
- In-App Chat
- Channel
- Agent
- Status
- Polling
- Auto-refresh
- Actuator health checks
- Configurable environments
- Containerized microservices
All REST endpoints were validated using Postman.
Tested areas include:
- Agent lifecycle & availability
- Conversation creation, assignment & closure
- Message ingestion across channels
- Error handling & actuator endpoints
This ensures correctness, stability, and predictable API behavior.
Apache JMeter was used to stress-test both microservices under concurrent load.
Key scenarios tested:
- Rapid message ingestion
- Parallel conversation creation
- High agent concurrency
- TiDB Cloud under heavy read/write volume
The platform maintained low latency and stable throughput during load testing.
To prevent Render’s free-tier servers from sleeping, UptimeRobot continuously pings:
/actuator/health
For both:
- Agent Service
- Ingestion Service
Ping interval: every 1 minute
This ensures:
- No cold starts
- Consistent response times
- Reliable user experience
Set environment variables:
REACT_APP_AGENT_API=https://your-agent-service.onrender.com
REACT_APP_INGESTION_API=https://your-ingestion-service.onrender.com
Set:
SPRING_DATASOURCE_URL=
SPRING_DATASOURCE_USERNAME=
SPRING_DATASOURCE_PASSWORD=
- MySQL-compatible
- Scalable
- Serverless
- WebSockets / SSE
- Deployment on AWS ECS/EKS / Kubernetes
- Redis caching
- AI Agent Assistant
- ClickHouse analytics
- SLA workflows
- LLM conversation summarization
Pranjali Srivastava Java Developer | Backend Engineer | Microservices | SQL & Cloud 📍 Chennai, India
🚀 Omni-Engage represents a fully modern, scalable, production-grade microservices system built using today’s best practices.