Sqlite GoChat Diagram
GoChat Working Diagram

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)