Перейти к основному содержимому

Обзор архитектуры

Схема системы

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ПОЛЬЗОВАТЕЛИ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Клиент Мастер Владелец Синдикат
│ │ │ │
▼ ▼ ▼ ▼
lk.salonai master. lk.salonai sindiai.ru
salonai
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
FRONTEND (статические SPA)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
api.salonai.ru
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
MAIN BACKEND (Django REST API)
Модули: записи · клиенты · склад ·
AI-ассистент Cindy · интеграции
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
│ │ │ │
▼ ▼ ▼ ▼
YClients- Imports- WA-Bridge AI Server
Connector Service (WhatsApp)
(FastAPI) (Go)
│ │
▼ ▼
YClients API Kafka (KRaft)


Обработчик импортов
(Django worker → БД)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ИНФРАСТРУКТУРА
PostgreSQL | Apache Kafka
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Публичные URL

URLНазначениеДля кого
https://api.salonai.ruREST APIРазработчики
https://lk.salonai.ruЛичный кабинет владельцаВладелец, администратор
https://master.salonai.ruКабинет мастераМастера и специалисты
https://sklad.salonai.ruУправление складомСклад
https://work.salonai.ruБиржа сменИсполнители
https://sindiai.ruSindi OSПредприниматели
https://go.salonai.ruКороткие ссылкиРедиректы

Сервисы

Main Backend (Django REST API)

Главный API-сервер. Содержит всю бизнес-логику: записи, клиенты, склад, AI-ассистент Cindy, интеграции с YClients / WhatsApp / Telegram.

Технологии: Python 3.12, Django 5.1, Django REST Framework 3.15, JWT-аутентификация, PostgreSQL, Kafka

YClients Connector (FastAPI)

Микросервис-прокси к YClients API. Принимает запросы от бэкенда, транслирует их в YClients API, скрывает авторизацию и нормализует ответы.

Технологии: Python 3.12, FastAPI, HTTPX (async)

Imports Service (Go)

Сервис импорта данных из YClients. Запускает синхронизацию и публикует данные в Kafka.

Технологии: Go (статически скомпилированный бинарник), Alpine Linux

WA-Bridge (Node.js)

WhatsApp Bridge — мост между WhatsApp и Django-бэкендом.

Технологии: Node.js 20, @whiskeysockets/baileys, Express

Apache Kafka

Брокер сообщений для асинхронной коммуникации. Работает в режиме KRaft (без ZooKeeper).

Пайплайн синхронизации YClients

1. Запрос синхронизации → Imports Service

2. Imports Service запрашивает данные у YClients Connector

3. YClients Connector → api.yclients.com

4. Данные публикуются в Kafka

5. Django-воркер читает из Kafka → сохраняет в PostgreSQL

6. Статус синхронизации → обратно в Kafka → Main Backend

Уведомления

Система поддерживает два канала коммуникации с клиентами:

  • Telegram — через бота @analisys1_bot (OTP-верификация и уведомления)
  • WhatsApp — через WA-Bridge

AI-ассистент Cindy маршрутизирует входящие сообщения и может работать в двух режимах:

  • Copilot — с участием оператора (Human-in-the-loop)
  • Autopilot — автономно