update main README

This commit is contained in:
2026-04-22 16:22:50 -06:00
parent b6f663121d
commit a5395082f6

View File

@@ -1,13 +1,24 @@
# Daily Notification Plugin
**Author**: Matthew Raymer
**Version**: 1.2.0 (see `package.json` for source of truth)
**Created**: 2025-09-22 09:22:32 UTC
**Last Updated**: 2025-12-23 UTC
## Overview
The Daily Notification Plugin is a comprehensive Capacitor plugin that provides enterprise-grade daily notification functionality across Android, iOS, and Electron platforms. It features dual scheduling, callback support, TTL-at-fire logic, and comprehensive observability.
The Daily Notification Plugin is a Capacitor plugin that provides daily notification functionality following local-first principles across Android, iOS, and Electron platforms.
This is to support apps that allow users to own their data. This approach is in contrast to standard server-managed notifications; they have the advantage of trustworthy delivery, but they have the following downsides:
* Users must store their search terms and notification preferences on the server.
* Users are not able to move their notifications elsewhere, and cannot take control of their notifications with their own apps.
* Peer-to-peer network scenarios are not supported.
There are two types of notifications supported:
* Periodic static reminder messages
* Periodic API requests, then notifying the user if there is new content
## Quick Start
@@ -27,7 +38,7 @@ The plugin has been optimized for **native-first deployment** with the following
**Platform Support:**
-**Android**: WorkManager + AlarmManager + SQLite
-**iOS**: BGTaskScheduler + UNUserNotificationCenter + Core Data
- **Electron**: Desktop notifications + SQLite/LocalStorage
- **Electron**: Desktop notifications + SQLite/LocalStorage (someday)
-**Web (PWA)**: Removed for native-first focus
**Key Benefits:**
@@ -40,12 +51,8 @@ The plugin has been optimized for **native-first deployment** with the following
### **Overview**
Dec 17
- test-apps
- android has been seen to work
- ios is being developed (Jose)
- after ios, will work on daily-notification-test (that includes Vue)
- need to test with real data in the API
Stand-alone tests are found in the test-apps directory.
- The daily-notification-test (that includes Vue) has worked but is not tested extensively.
### ✅ **Phase 2 Complete - Production Ready**
@@ -66,7 +73,6 @@ Dec 17
The plugin guarantees the following behaviors:
- **Monotonic Watermark**: Watermark values are strictly monotonic (never decrease)
- **Idempotency**: Operations with the same idempotency key are safe to retry
- **TTL Semantics**: Content with expired TTL is not delivered
- **Schedule Persistence**: Schedules persist across app restarts
@@ -80,7 +86,7 @@ The following behaviors are best-effort and may vary by platform:
- **Background Fetch Timing**: Exact timing depends on OS scheduling
- **Battery Optimization**: May be affected by device battery optimization settings
### 🧪 **Testing & Quality**
### **Testing & Quality**
- **Test Coverage**: 58 tests across 4 test suites ✅
- **Build Status**: TypeScript compilation and Rollup bundling ✅
@@ -89,7 +95,7 @@ The following behaviors are best-effort and may vary by platform:
## Features
### 🚀 **Core Features**
### **Core Features**
- **Dual Scheduling**: Separate content fetch and user notification scheduling
- **TTL-at-Fire Logic**: Content validity checking at notification time
@@ -98,13 +104,7 @@ The following behaviors are best-effort and may vary by platform:
- **Static Daily Reminders**: Simple daily notifications without network content
- **Cross-Platform**: Android, iOS, and Electron implementations
### 📱 **Platform Support**
- **Android**: WorkManager + AlarmManager + SQLite (Room)
- **iOS**: BGTaskScheduler + UNUserNotificationCenter + Core Data
- **Web**: ❌ Removed (native-first architecture)
### 🔧 **Enterprise Features**
### **Enterprise Features**
- **Observability**: Structured logging with event codes
- **Health Monitoring**: Comprehensive status and performance metrics
@@ -116,7 +116,7 @@ The following behaviors are best-effort and may vary by platform:
- Plugin owns its SQLite database - access via Capacitor interfaces
- Supports schedules, content cache, callbacks, history, and configuration
### **Static Daily Reminders**
### **Static Daily Reminders**
- **No Network Required**: Completely offline reminder notifications
- **Simple Scheduling**: Easy daily reminder setup with HH:mm time format
@@ -139,10 +139,6 @@ npm install git+https://gitea.anomalistdesign.com/trent_larson/daily-notificatio
The plugin follows the standard Capacitor Android structure - no additional path configuration needed!
## Documentation
**📚 Complete Documentation Index**: See [doc/00-INDEX.md](./doc/00-INDEX.md) for organized access to all documentation.
## Quick Integration
**New to the plugin?** Start with the [Quick Integration Guide](./doc/integration/QUICK_START.md) for step-by-step setup instructions.
@@ -823,15 +819,11 @@ npm test
5. Ensure all tests pass
6. Submit a pull request
## License
MIT License - see [LICENSE](LICENSE) file for details.
## Support
### Documentation
**📚 [Complete Documentation Index](./doc/00-INDEX.md)** - Central hub for all project documentation
**[Complete Documentation Index](./doc/00-INDEX.md)** - Central hub for all project documentation
**Key Documentation:**
- **Integration**: [Integration Guide](./doc/integration/INTEGRATION_GUIDE.md) - Complete integration instructions
@@ -858,10 +850,3 @@ MIT License - see [LICENSE](LICENSE) file for details.
- **Custom Implementations**: Tailored solutions for enterprise needs
- **Integration Support**: Help with complex integrations
- **Performance Optimization**: Custom performance tuning
---
**Version**: 2.0.0
**Last Updated**: 2025-09-22 09:22:32 UTC
**Status**: Phase 2 Complete - Production Ready
**Author**: Matthew Raymer