feat: Implement alert creation service with FCM notifications
- Add AlertCreationService to handle alert creation and notifications. - Implement idempotency key support to prevent duplicate alerts. - Create alert notification service for sending FCM messages. - Add tests for alert creation and notification services. - Document FCM notification flow and alert creation process.
This commit is contained in:
19
README.md
19
README.md
@@ -13,6 +13,7 @@
|
||||
- ✅ Кеширование через Redis
|
||||
- ✅ Аутентификация по API ключам
|
||||
- ✅ Rate limiting
|
||||
- ✅ Серверные push-уведомления об алертах через Firebase Cloud Messaging
|
||||
|
||||
### Технологический стек
|
||||
|
||||
@@ -31,7 +32,7 @@
|
||||
## 📋 Требования
|
||||
|
||||
- Docker и Docker Compose
|
||||
- Node.js 18+ (для разработки без Docker)
|
||||
- Node.js 22+ (для разработки без Docker и Firebase Admin SDK)
|
||||
- Статический IP или динамический DNS
|
||||
- ~2GB свободного места на диске
|
||||
|
||||
@@ -57,6 +58,9 @@ ADMIN_PASSWORD=your_secure_admin_password_here
|
||||
# Для разработки/деплоя через встроенный proxy оставьте как есть
|
||||
CORS_ORIGIN=http://localhost:3001
|
||||
API_URL=/api/v1
|
||||
|
||||
# Push отключён по умолчанию и не требует Firebase credentials
|
||||
FCM_ENABLED=false
|
||||
```
|
||||
|
||||
Генерация безопасного salt:
|
||||
@@ -103,7 +107,7 @@ docker exec -it polotsk-transit-db psql -U transit_admin -d polotsk_transit -c "
|
||||
```bash
|
||||
cd backend
|
||||
npm install
|
||||
cp .env.example .env
|
||||
cp ../.env.example .env
|
||||
|
||||
# Убедитесь, что PostgreSQL и Redis запущены локально
|
||||
# Настройте DATABASE_URL и REDIS_URL в .env
|
||||
@@ -168,6 +172,15 @@ GET /api/v1/sync?lastSync=2025-11-19T10:00:00Z # Инкрементальная
|
||||
GET /api/v1/sync/status # Статус системы
|
||||
```
|
||||
|
||||
**Алерты:**
|
||||
```bash
|
||||
GET /api/v1/alerts/active # Активные алерты для клиентов
|
||||
POST /api/v1/alerts # Создать алерт и, если он активен, отправить FCM
|
||||
```
|
||||
|
||||
Настройка Firebase, контракт сообщения, идемпотентность и способы локальной
|
||||
проверки описаны в [документации FCM-уведомлений](docs/fcm-alert-notifications.md).
|
||||
|
||||
### Примеры запросов
|
||||
|
||||
**Создание маршрута:**
|
||||
@@ -338,7 +351,7 @@ SELECT PostGIS_Version();
|
||||
### Версия 3.0 - Продвинутые функции
|
||||
- [ ] IoT GPS-трекеры интеграция
|
||||
- [ ] Машинное обучение для предсказания задержек
|
||||
- [ ] Push-уведомления
|
||||
- [x] Push-уведомления о новых активных алертах
|
||||
- [ ] Аналитика и отчеты
|
||||
|
||||
## 🤝 Контакты и поддержка
|
||||
|
||||
Reference in New Issue
Block a user