@wasrusgen1 CRM · PLATFORM ARCHITECTURE

Архитектура платформы
@wasrusgen1 CRM

Один продукт — много клиентов. Полный контроль.

Документ дляСобственника системы
ТемаВвод проекта в работу
Дата2026
Слайд 02 · Big picture

Карта системы

Единый код в GitHub разворачивается на VPS. Каждый клиент — отдельный поддомен и отдельная база.

Руслан · Мастер-панельуправление всеми проектами
GitHubединый исходный код
авто-деплой CI/CD
VPS сервер · Nginx + Dockerроутинг по поддоменам
salon1.crm.ru→ PostgreSQL DB_1
salon2.crm.ru→ PostgreSQL DB_2
salonN.crm.ru→ PostgreSQL DB_N
Слайд 03 · Стратегия

Три модели управления

Как обслуживать множество клиентов на одной кодовой базе.

A

Мультитенант

Один деплой, одна БД, разделение по tenant_id. Дёшево в масштабе, но слабая изоляция и риск общего сбоя.

сложно стартовать
B

Мультидеплой

Отдельный контейнер + отдельная БД на клиента. Полная изоляция, простой старт, легко считать расходы по клиенту.

★ старт здесь
C

Гибрид

Общий код и инфра-слой, изолированные БД, общий мониторинг и единое обновление. Баланс цены и изоляции на росте.

★ цель
Рекомендация: начать с модели B (мультидеплой) → перейти на C (гибрид) при 5+ клиентах.
Слайд 04 · Процесс

Жизненный цикл нового проекта

От подписи договора до запуска — около 3 рабочих дней.

01
Договор с клиентомсогласование условий, тариф, доступы
1 день
02
Настройка инстансасоздание БД, конфиг, поддомен, деплой
2–4 ч
03
Загрузка данныхсалоны, пользователи, справочники
1–2 ч
04
Обучение командыКД, администраторы, мастера
1–2 дня
05
Старт → техподдержкапилот, мониторинг, SLA
запуск
Слайд 05 · Технологии

Стек технологий

Проверенные инструменты, без экзотики — быстрый найм и поддержка.

🖥️

Frontend

HTML/JS (текущий прототип) → React в v2

⚙️

Backend

Node.js + Express — REST API, авторизация

🗄️

База данных

PostgreSQL — одна БД на клиента

Кеш / сессии

Redis — сессии, очереди, кеш

📦

Файлы

S3 / MinIO — фото, документы, экспорты

🚀

Деплой

Docker Compose + GitHub Actions CI/CD

☁️

Хостинг

VPS: Hetzner / Timeweb / Selectel

🔒

Сеть

Nginx reverse-proxy + Let's Encrypt HTTPS

Слайд 06 · Данные

Схема базы данных

8 ключевых сущностей. Каждый клиент получает изолированную копию этой схемы.

# SCHEMA.md — ER-диаграмма (одна БД на клиента)

  ┌────────────┐┌────────────┐┌────────────┐│  salons    │──1:N──│   users    │──1:N──│shiftRequest│└─────┬──────┘└─────┬──────┘└────────────┘│ 1:N│ 1:N┌─────┴──────┐┌─────┴──────┐┌────────────┐│  clients   │──1:N──│   orders   │──1:N──│  ratings   │└─────┬──────┘└─────┬──────┘└────────────┘│ 1:N│ 1:N┌─────┴──────┐┌─────┴──────┐│appointments│───────││  requests  │└────────────┘└────────────┘salons      → сеть салонов клиента
  users       → сотрудники (КД / админ / мастер)
  clients     → клиентская база салона
  orders      → сделки / заказы
  appointments→ записи на услуги
  requests    → заявки / лиды
  shiftRequests→ заявки на смены сотрудников
  ratings     → оценки и обратная связь
Слайд 07 · Инструмент владельца

Мастер-панель Руслана

Что нужно разработать для управления всем парком проектов из одного места.

📋

Список проектов

Все клиентские инстансы: статус, last activity, число пользователей, тариф.

Создать новый проект

Кнопка «Новый проект» → деплой инстанса в 1 клик (или скриптом).

📡

Мониторинг

Uptime, ошибки, нагрузка CPU/RAM, статус БД по каждому клиенту.

🔄

Массовое обновление

Выкатить новую версию на все проекты одновременно одной командой.

Слайд 08 · Onboarding

Как подключить нового клиента

Интерактивный чеклист — кликните по пунктам. Прогресс сохраняется в сессии.

Подписан договор
Получены данные: сеть, салоны, сотрудники
Создан поддомен client-name.wasrusgen1.ru
Развёрнута БД и заполнены справочники
Созданы учётные записи (КД, Администраторы)
Проведено обучение команды
Запущен пилот
Слайд 09 · Инфраструктура

Инфраструктура и стоимость

Расходы растут вместе с числом клиентов — на старте почти нулевые.

ЭтапКонфигурация$/мес
Прототип (сейчас)GitHub Pages$0
Пилот (1–3 клиента)VPS 2CPU / 4GB + Postgres~$25–35
Рост (4–10 клиентов)VPS 4CPU / 8GB + backup~$50–80
Масштаб (10+ клиентов)2 VPS + балансировщик~$120–200
При 8 000 ₽/мес с клиента стоимость инфраструктуры — менее 3 % от выручки даже на масштабе.
Слайд 10 · Экономика

Экономика продукта · P&L

Точка безубыточности — первый же клиент. Маржа растёт с каждым следующим.

— РАСХОДЫ / мес
Сервер (VPS + Postgres)~$35
Поддержка (N часов)переменные
Прочее (домены, бэкап)~$5
Итого база~$40
+ ДОХОДЫ / мес
Тариф на клиента8 000 ₽
5 клиентов40 000 ₽
10 клиентов80 000 ₽
Модель X × 8 000 ₽растёт линейно
Break-even1 клиент
Целевая маржа85 %+
При5+ клиентах
Слайд 11 · Roadmap

Roadmap продукта

Четыре фазы — от прототипа до AI-функций.

Фаза 1 · сейчас

Прототип

Готовый интерфейс → первый пилотный клиент.

Фаза 2

Бэкенд

Node.js + PostgreSQL + авторизация (JWT).

Фаза 3

Мобильное (PWA)

Установка на телефон, офлайн, push-уведомления.

Фаза 4

AI-функции

Прогноз сделок, автоматизация рутины, аналитика.

Слайд 12 · Безопасность

Безопасность и изоляция данных

Данные каждого клиента физически отделены — утечка одного не затрагивает других.

🧱

Физическая изоляция

Каждый клиент — отдельная БД. Данные не пересекаются на уровне хранилища.

🔑

JWT авторизация

Токены доступа, роли и права на уровне API.

🔐

HTTPS везде

Let's Encrypt, авто-обновление сертификатов на всех поддоменах.

💾

Бэкапы ежедневно

Автоматический бэкап каждой БД, хранение и восстановление.

📤

Экспорт данных

Клиент может запросить выгрузку своих данных в любой момент.

📜

Соответствие ПДн

Хранение в РФ, разграничение доступа, журналирование.

Слайд 13 · Обязательства

SLA и поддержка

Понятные обязательства перед клиентом — основа доверия и удержания.

⏱️

Uptime

99.5 %

📞

Реакция

4 ч

в рабочее время

🔁

Обновления

2 нед

регулярный цикл

🚀

Onboarding

3 дня

до запуска

Слайд 14 · План действий

Следующие шаги

Конкретный план на 4 недели — от выбора клиента до запуска пилота.

W1
Выбрать первого пилотного клиентасеть салонов, готовая дать данные и команду
Неделя 1
W2
Развернуть бэкенд на VPSNode.js + PostgreSQL + Docker + CI/CD
Неделя 2
W3
Перевести прототип на реальные данныеподключить API, загрузить салоны и пользователей
Неделя 3
W4
Запуск пилота с командой клиентаобучение, мониторинг, сбор обратной связи
Неделя 4
Готов начать с недели 1 — нужен выбор пилотного клиента.
@wasrusgen1 · CRM PLATFORM
01 / 14