1️⃣ Архитектурное состояние
Принцип
Telegram или любой мессенджер, или мобильное приложение = UI
Core = бизнес-логика
Infra = внешние зависимости
Это не “бот-скрипт”.
Это engine.
⸻
2️⃣ Слои реализованы
✅ Core
• StartReminder (напоминание)
• PickReminderTime
• ConfirmReminder
• Ports:
• DraftsRepo
• RemindersRepo
• TokensRepo
• CalendarPort
✅ Infrastructure
• Prisma + PostgreSQL
• GoogleCalendarAdapter
• Prisma Repositories
• OAuth через БД (не file storage)
✅ Adapter (Telegram)
• /start
• /reminder (с текстом)
• /reminder → ввод текста вторым сообщением
• forwarded flow (напоминание или встреча из пересланного сообщения)
• /cancel
• middleware-chain исправлен
• Draft берётся из БД (ACTIVE), а не из Map
⸻
3️⃣ Что работает стабильно
✔ Draft создаётся в БД
✔ Reminder создаётся в БД
✔ Google event создаётся
✔ Draft lifecycle управляется через статус
✔ Нет in-memory источника истины
✔ /start не ломается
✔ Middleware корректно пропускает команды
⸻
4️⃣ Что ещё НЕ реализовано (осознанно)
• ❌ Delivery напоминаний из БД в TG (worker) без внешнего календаря
• ❌ /reminders список
• ❌ Изменение времени
• ❌ Проверка конфликтов (внутренняя БД, Google и т.д)
• ❌ Custom date input
• ❌ LLM parsing
• ❌ Timezone политика
• ❌ Планирование через queue
⸻
5️⃣ Текущая зрелость продукта
Это уже:
“Scheduling Engine Prototype”
Но ещё не автономный продукт.
⸻
6️⃣ Архитектурный статус
Сделан переход от:
Script-based Telegram bot
к
Engine-first modular architecture
⸻
📌 Что означает v0.3
v0.3 — это:
• устойчивая архитектура
• чистые границы
• готовность к автономности
• готовность к API-экспорту (!)