update main README
This commit is contained in:
65
README.md
65
README.md
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user