GoChat
WARNING: This project is currently under active development. APIs and features are subject to change.
Multi-channel chat aggregator service that listens for incoming messages from external platforms (WhatsApp Business, Telegram, Instagram, etc.) and provides a unified API for managing conversations.
Architecture
The service acts as a headless backend microservice designed to integrate with NestJS applications. It automatically creates users when they first message any connected platform, manages conversations, and emits events via Redis Pub/Sub for real-time updates.
Tech Stack
- Go 1.25.5
- Echo v4 (HTTP framework)
- SQLite (modernc.org/sqlite - pure Go driver)
- Redis (event emission)
- JWT authentication
Features
- Organization and channel management
- Auto-create external users on first message
- Conversation tracking with assignment support
- Message storage and retrieval
- Webhook receivers for external platforms
- Event emission to NestJS via Redis Pub/Sub
- CRM-agnostic design (no internal user management)
Development Principles
- MVC/Layered architecture
- SOLID principles
- Dependency injection
- Interface-based design
- KISS (Keep It Simple, Stupid)