Обзор архитектуры
Схема системы
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ПОЛЬЗОВАТЕЛИ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Клиент Мастер Владелец Синдикат
│ │ │ │
▼ ▼ ▼ ▼
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.ru | REST API | Разработчики |
https://lk.salonai.ru | Личный кабинет владельца | Владелец, администратор |
https://master.salonai.ru | Кабинет мастера | Мастера и специалисты |
https://sklad.salonai.ru | Управление складом | Склад |
https://work.salonai.ru | Биржа смен | Исполнители |
https://sindiai.ru | Sindi 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 — автономно