R_ShipDays

КтоПридёт

CRM и онлайн-запись для специалистов, работающих по записи

КтоПридёт — SaaS для тренеров, бьюти-мастеров, массажистов и репетиторов: клиенты записываются сами через Telegram, MAX или веб-ссылку, а специалист получает напоминания, абонементы и учёт денег. Продукт сделан целиком: Go-бэкенд, кабинет и мини-приложения на React, платежи, CI/CD с e2e-тестами.

Статус
В продакшене
Период
Июль — октябрь 2026
Формат
Собственный продукт
Роль
Продукт, архитектура, бэкенд, фронтенд, инфраструктура
Главная страница КтоПридёт: онлайн-запись и учёт клиентов для специалистов
эндпоинтов API
≈158эндпоинтов API
миграции базы
32миграции базы
строк Go и TypeScript
≈25 тыс.строк Go и TypeScript
коммита
153коммита
Посадочная страница КтоПридёт для персональных тренеров
Одна из 14 посадочных страниц под вертикаль: персональные тренеры

Задача

Специалисты, которые работают по записи, теряют деньги на прогулах и ведут клиентов в переписке и таблицах. Нужен был простой кабинет, где клиенты записываются сами, а специалист каждое утро видит, кто придёт и сколько он заработал.

Что сделано

  • Календарь на день и неделю, услуги с длительностью и вместимостью, групповые занятия, отметки «пришёл / отменил / не пришёл»
  • Запись тремя путями: Telegram Mini App, мини-приложение в MAX и веб-ссылка без мессенджера
  • Напоминания и утренний дайджест «кто придёт сегодня» в Telegram, MAX и по SMS
  • Абонементы с балансом и аналитика: выручка, доля неявок, новые клиенты
  • Возврат клиентов: система находит «спящих» с остатком абонемента и пишет им по анти-спам правилам
  • Чат специалиста с клиентом в реальном времени
  • Импорт базы из YCLIENTS, DIKIDI и Altegio с автоопределением колонок и дедупликацией
  • Реферальная и агентская программы, админка с ролями и CRM лидов
  • Подписка специалиста: Робокасса, Prodamus и ЮKassa с автопродлением
  • 14 посадочных страниц под вертикали (фитнес, бьюти, массаж, репетиторы) с sitemap и llms.txt

Инженерные решения

  • Очередь уведомлений на PostgreSQL с FOR UPDATE SKIP LOCKED, без отдельного брокера
  • Идемпотентные вебхуки платёжных систем: повторное уведомление не продлевает подписку второй раз
  • Бюджетная защита SMS и звонков: суточный лимит в рублях, лимиты на номер и IP
  • CSP frame-ancestors разрешает встраивание только в Telegram и MAX
  • SDK мессенджеров раздаются со своего домена, чтобы работать при сетевых ограничениях
  • Два аудита кода и безопасности с исправлениями по итогам

Инфраструктура и DevOps

  • CI: go vet и тесты на PostgreSQL, проверка конфига Caddy и полноты переводов
  • 4 набора e2e-сценариев (вход, запись, оплата, MAX) блокируют деплой при падении
  • Docker-образы в GHCR, деплой по SSH, отдельные workflow для проверок прода
  • Алерты владельцу в Telegram каждые 10 минут: рост 5xx, сбои уведомлений и polling
  • Ночной pg_dump по systemd-таймеру, хранение 14 дней

Стек

  • Go
  • PostgreSQL
  • Redis
  • React 19
  • TypeScript
  • Tailwind
  • Telegram Mini App
  • MAX
  • Docker
  • GitHub Actions

Нужен похожий проект?

Короткий бриф в Telegram, ответ лично от меня в течение дня.