feat: add email notification system (Brevo SMTP + N8N daily digest)
- Add core notification service: types, email-service (nodemailer/Brevo SMTP), notification-service (digest builder, preference CRUD, HTML renderer) - Add API routes: POST /api/notifications/digest (N8N cron, Bearer auth), GET/PUT /api/notifications/preferences (session auth) - Add NotificationPreferences UI component (Bell button + dialog with per-type toggles) in Registratura toolbar - Add 7 Brevo SMTP env vars to docker-compose.yml - Update CLAUDE.md, ROADMAP.md, DATA-MODEL.md, SYSTEM-ARCHITECTURE.md, CONFIGURATION.md, DOCKER-DEPLOYMENT.md Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
+12
-3
@@ -32,7 +32,7 @@
|
||||
|
||||
| # | Module | Version | Status | Remaining Gaps | Future Enhancements |
|
||||
| --- | ------------------ | ------- | --------- | --------------------------------------------------- | ------------------------------------------------- |
|
||||
| 1 | Registratura | 0.4.0 | HARDENING | Legal deadline workflow gaps, chain logic | Workflow automation, email integration, OCR |
|
||||
| 1 | Registratura | 0.5.0 | HARDENING | — | Workflow automation, OCR, print/PDF export |
|
||||
| 2 | Email Signature | 0.1.0 | COMPLETE | US/SDT addresses may need update | AD sync, branding packs, promo banners |
|
||||
| 3 | Word XML | 0.1.0 | COMPLETE | — | Schema validator, visual mapper |
|
||||
| 4 | Digital Signatures | 0.1.0 | COMPLETE | — | Permission layers, document insertion |
|
||||
@@ -826,9 +826,18 @@ Env vars (hardcoded in docker-compose.yml for Portainer CE):
|
||||
|
||||
---
|
||||
|
||||
### 8.03 `[STANDARD]` Notification System
|
||||
### 8.03 ✅ `[STANDARD]` Notification System (2026-03-11)
|
||||
|
||||
**What:** Bell icon in header. Deadline alerts, overdue warnings, tacit approval triggers.
|
||||
**What:** Email notification system with daily digest via Brevo SMTP + N8N cron.
|
||||
**Implemented:**
|
||||
- Brevo SMTP relay (nodemailer, port 587 STARTTLS)
|
||||
- Daily digest email: urgent deadlines, overdue deadlines, expiring documents
|
||||
- Per-user notification preferences (3 types + global opt-out) stored in KeyValueStore
|
||||
- API routes: POST `/api/notifications/digest` (N8N Bearer auth), GET/PUT `/api/notifications/preferences` (session auth)
|
||||
- UI: Bell button "Notificari" in Registratura toolbar → dialog with toggles
|
||||
- HTML email: inline-styled tables, color-coded rows (red/yellow/blue), per-company grouping
|
||||
- N8N cron: `0 8 * * 1-5` (weekdays 8:00)
|
||||
**Files:** `src/core/notifications/`, `src/app/api/notifications/`, `components/notification-preferences.tsx`
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user