docs: add Telegram notifications and updated dashboard to README and FEATURES
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 46s
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 46s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
10
README.md
10
README.md
@@ -110,6 +110,12 @@ The backoffice will be available at http://localhost:7082
|
|||||||
- Batch auto-matching and scheduled metadata refresh
|
- Batch auto-matching and scheduled metadata refresh
|
||||||
- Field locking to protect manual edits from sync
|
- Field locking to protect manual edits from sync
|
||||||
|
|
||||||
|
### Notifications
|
||||||
|
- **Telegram**: real-time notifications via Telegram Bot API
|
||||||
|
- 12 granular event toggles (scans, thumbnails, conversions, metadata)
|
||||||
|
- Book thumbnail images included in notifications where applicable
|
||||||
|
- Test connection from settings
|
||||||
|
|
||||||
### External Integrations
|
### External Integrations
|
||||||
- **Komga**: import reading progress
|
- **Komga**: import reading progress
|
||||||
- **Prowlarr**: search for missing volumes
|
- **Prowlarr**: search for missing volumes
|
||||||
@@ -130,9 +136,11 @@ The backoffice will be available at http://localhost:7082
|
|||||||
- Rate limiting, token expiration and revocation
|
- Rate limiting, token expiration and revocation
|
||||||
|
|
||||||
### Web UI (Backoffice)
|
### Web UI (Backoffice)
|
||||||
- Dashboard with statistics, charts, and reading progress
|
- Dashboard with statistics, interactive charts (recharts), and reading progress
|
||||||
|
- Currently reading & recently read sections
|
||||||
- Library, book, series, author management
|
- Library, book, series, author management
|
||||||
- Live job monitoring, metadata search modals, settings panel
|
- Live job monitoring, metadata search modals, settings panel
|
||||||
|
- Notification settings with per-event toggle configuration
|
||||||
|
|
||||||
## Environment Variables
|
## Environment Variables
|
||||||
|
|
||||||
|
|||||||
@@ -170,6 +170,34 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Notifications
|
||||||
|
|
||||||
|
### Telegram
|
||||||
|
- Real-time notifications via Telegram Bot API (`sendMessage` and `sendPhoto`)
|
||||||
|
- Configuration: bot token, chat ID, enable/disable toggle
|
||||||
|
- Test connection button in settings
|
||||||
|
|
||||||
|
### Granular Event Toggles
|
||||||
|
12 individually configurable notification events grouped by category:
|
||||||
|
|
||||||
|
| Category | Events |
|
||||||
|
|----------|--------|
|
||||||
|
| Scans | `scan_completed`, `scan_failed`, `scan_cancelled` |
|
||||||
|
| Thumbnails | `thumbnail_completed`, `thumbnail_failed`, `thumbnail_cancelled` |
|
||||||
|
| Conversion | `conversion_completed`, `conversion_failed`, `conversion_cancelled` |
|
||||||
|
| Metadata | `metadata_approved`, `metadata_batch_completed`, `metadata_refresh_completed` |
|
||||||
|
|
||||||
|
### Thumbnail Images in Notifications
|
||||||
|
- Book cover thumbnails attached to applicable notifications (conversion, metadata approval)
|
||||||
|
- Uses `sendPhoto` multipart upload with fallback to text-only `sendMessage`
|
||||||
|
|
||||||
|
### Implementation
|
||||||
|
- Shared `crates/notifications` crate used by both API and indexer
|
||||||
|
- Fire-and-forget: notification failures are logged but never block the main operation
|
||||||
|
- Messages formatted in HTML with event-specific icons
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Page Rendering & Caching
|
## Page Rendering & Caching
|
||||||
|
|
||||||
### Page Extraction
|
### Page Extraction
|
||||||
@@ -238,13 +266,16 @@
|
|||||||
## Backoffice (Web UI)
|
## Backoffice (Web UI)
|
||||||
|
|
||||||
### Dashboard
|
### Dashboard
|
||||||
- Statistics cards: books, series, authors, libraries
|
- Statistics cards: books, series, authors, libraries, pages, total size
|
||||||
- Donut charts: reading status breakdown, format distribution
|
- Interactive charts (recharts): donut, area, stacked bar, horizontal bar
|
||||||
- Bar charts: books per language
|
- Reading status breakdown, format distribution, library distribution
|
||||||
- Per-library reading progress bars
|
- Currently reading section with progress bars
|
||||||
- Top series by book/page count
|
- Recently read section with cover thumbnails
|
||||||
- Monthly addition timeline
|
- Reading activity over time (area chart)
|
||||||
- Metadata coverage stats
|
- Books added over time (area chart)
|
||||||
|
- Per-library stacked reading progress
|
||||||
|
- Top series by book count
|
||||||
|
- Metadata coverage and provider breakdown
|
||||||
|
|
||||||
### Pages
|
### Pages
|
||||||
- **Libraries**: list, create, delete, configure monitoring and metadata provider
|
- **Libraries**: list, create, delete, configure monitoring and metadata provider
|
||||||
@@ -253,7 +284,7 @@
|
|||||||
- **Authors**: list with book/series counts, detail with author's books
|
- **Authors**: list with book/series counts, detail with author's books
|
||||||
- **Jobs**: history, live progress via SSE, error details
|
- **Jobs**: history, live progress via SSE, error details
|
||||||
- **Tokens**: create, list, revoke API tokens
|
- **Tokens**: create, list, revoke API tokens
|
||||||
- **Settings**: image processing, cache, thumbnails, external services (Prowlarr, qBittorrent)
|
- **Settings**: image processing, cache, thumbnails, external services (Prowlarr, qBittorrent), notifications (Telegram)
|
||||||
|
|
||||||
### Interactive Features
|
### Interactive Features
|
||||||
- Real-time search with suggestions
|
- Real-time search with suggestions
|
||||||
|
|||||||
Reference in New Issue
Block a user