docs: превью заявок в Telegram в README

This commit is contained in:
2026-10-17 18:57:38 +03:00
parent b57ac2a38b
commit 93fa548284
2 changed files with 4 additions and 0 deletions
+4
View File
@@ -10,6 +10,10 @@
Лендинг «недельный календарь / штамп даты»: Кварта — «четвёртая», обжарка по четвергам; ассортимент свёрстан как этикетки пачек. Кнопки предзаполняют форму, на мобиле — липкая CTA. Форма уходит в отдельный сервис api: проверка белорусского телефона (любой ввод → `+375XXXXXXXXX`, одна функция на клиенте и сервере), повтор с того же номера в течение 10 минут дописывается к заявке как уточнение, сохраняются первое и последнее касание (utm, yclid, fbclid, referrer, страницы входа и отправки), rate-limit, honeypot, понятные ошибки с «позвоните». Заявки менеджер видит в теме Telegram-группы, сбои — в соседней теме «Система»; бэкапы базы каждый день уходят администратору в личку, восстановление — кнопкой в боте. 184 теста Vitest.
Так заявки выглядят у менеджера в теме «Kvarta Cafe: Заявки»: интерес, телефон в едином формате, источник и путь по странице; повтор с того же номера приходит уточнением к заявке (#2), а не новой заявкой.
<img src="docs/telegram-leads.png" alt="Заявки и уточнение в Telegram-теме «Kvarta Cafe: Заявки»" width="480">
Стек: pnpm workspace — `apps/landing` (Next.js 16, Tailwind 4), `apps/api` (Hono, better-sqlite3), `packages/shared` (телефон и контракт заявки). Почему два сервиса — `docs/adr/0001`.
**Почему SQLite.** Один процесс и один файл в volume: проверка «есть ли заявка с этим номером за 10 минут» и запись идут в одной транзакции, и двойной клик не даёт дубля; бэкап — копия файла; база не зависит от Telegram — если он недоступен, заявка ждёт в очереди и уходит позже (так и случилось вживую при настройке). Внешняя БД для десятков заявок в день — лишняя движущаяся часть.