Add Pulse notifications plan

This commit is contained in:
Cosmo
2026-02-06 11:44:05 +00:00
parent 005457c539
commit 98b4318254

View File

@@ -0,0 +1,53 @@
# Pulse — Система уведомлений
## Telegram бот
### Функционал
- При `/start` бот отправляет пользователю его `chat_id`
- Пользователь копирует этот ID и вставляет в профиль на сайте
- Бот отправляет уведомления о задачах и привычках
### Реализация
- Часть homelab-api (отдельный goroutine)
- Используем go-telegram-bot-api
- Long polling
## Профиль пользователя
### Новые поля в БД (таблица users)
```sql
ALTER TABLE users ADD COLUMN telegram_chat_id BIGINT;
ALTER TABLE users ADD COLUMN notifications_enabled BOOLEAN DEFAULT true;
ALTER TABLE users ADD COLUMN morning_reminder_time TIME DEFAULT '09:00';
ALTER TABLE users ADD COLUMN evening_reminder_time TIME DEFAULT '18:00';
ALTER TABLE users ADD COLUMN timezone VARCHAR(50) DEFAULT 'Europe/Moscow';
```
### API endpoints
- `GET /profile` — получить профиль
- `PUT /profile` — обновить профиль
## Напоминания
### Задачи (Tasks)
- **Утром (9:00)**: список задач на сегодня
- **Вечером (18:00)**: невыполненные задачи
### Привычки (Habits)
- **Утром**: какие привычки нужно выполнить сегодня
- **Вечером**: невыполненные привычки
### Scheduler
- `robfig/cron` в Go
- Проверка каждую минуту, отправка по времени пользователя
## TODO
- [ ] Создать Telegram бота (@BotFather)
- [ ] Миграция БД
- [ ] API: /profile
- [ ] Telegram bot handler
- [ ] Scheduler
- [ ] UI: страница профиля/настроек
---
*Создано: 2026-02-06*