Background
A community member requested an alert when a dog of the same or similar breed is found within a selected distance. RescueLink already has location data, matching logic, and notifications, making this a useful extension of the existing workflow.
Goal
Allow the owner of an active lost-pet report to opt in to notifications when a sufficiently similar found report appears within a configurable radius.
Proposed Behavior
- The owner enables or disables alerts for an active lost report.
- The owner selects a supported radius rather than entering an unlimited value.
- When a found report is created or becomes eligible for matching, RescueLink evaluates distance and the existing match criteria.
- A notification is created only when the configured conditions are satisfied.
- Duplicate notifications for the same lost/found report pair are prevented.
- Notifications do not expose private owner or exact-location data.
Design Questions to Resolve
Before implementation, propose:
- supported radius values and maximum radius;
- whether the existing match-score threshold is reused;
- when evaluation runs;
- how duplicate notifications are prevented;
- whether the first version is in-app only or also supports external delivery.
The initial implementation should prefer existing in-app notifications. SMS/email/push delivery should be handled separately unless infrastructure already exists and the scope is explicitly approved.
Architecture Guidance
- Domain: model alert preferences and invariants where appropriate.
- Application: commands, handlers, validation, and notification orchestration.
- Persistence: preference storage, migration, and duplicate protection.
- Infrastructure: do not introduce a new external messaging provider without approval.
- API: expose opt-in/configuration endpoints through thin controllers.
- Tests: cover radius boundary, score threshold, disabled alerts, and duplicates.
Acceptance Criteria
Out of Scope
- Paid SMS providers
- Marketing notifications
- Continuous GPS tracking
- Frontend implementation unless agreed separately
Before Starting
Please comment with the proposed preference model, radius values, trigger point, duplicate-prevention strategy, and test plan. Wait for confirmation before implementation.
Origin
This feature was suggested by a community member who wanted an alert when the same or a similar breed was found within a chosen mileage.
Background
A community member requested an alert when a dog of the same or similar breed is found within a selected distance. RescueLink already has location data, matching logic, and notifications, making this a useful extension of the existing workflow.
Goal
Allow the owner of an active lost-pet report to opt in to notifications when a sufficiently similar found report appears within a configurable radius.
Proposed Behavior
Design Questions to Resolve
Before implementation, propose:
The initial implementation should prefer existing in-app notifications. SMS/email/push delivery should be handled separately unless infrastructure already exists and the scope is explicitly approved.
Architecture Guidance
Acceptance Criteria
dotnet build RescueLink.slnxsucceeds.dotnet test RescueLink.slnxsucceeds.Out of Scope
Before Starting
Please comment with the proposed preference model, radius values, trigger point, duplicate-prevention strategy, and test plan. Wait for confirmation before implementation.
Origin
This feature was suggested by a community member who wanted an alert when the same or a similar breed was found within a chosen mileage.