Improve Watchlist Sentinel Using Industry Alert Best Practices
Context
The current Watchlist feature allows users to:
- Create a watchlist
- Monitor a ticker
- Define a simple price threshold
This is intentionally simple for educational purposes. However, real-world portfolio systems implement stock alerts following certain best practices.
Reference:
https://pro.stockalarm.io/blog/how-to-set-stock-price-alerts
Proposal
Without making the system overly complex, we should slightly improve the Watchlist Sentinel to better reflect industry practices while keeping the project pedagogical.
The improvement should:
-
Trigger alerts only when the price crosses the threshold (not continuously while above/below)
-
Allow simple support for:
- Price above threshold
- Price below threshold
-
Store minimal alert state to avoid repeated triggering
-
Keep the domain model clean and aligned with DDD principles
We do not aim to implement a fully production-ready alert engine, but rather to:
- Improve realism
- Demonstrate better domain modeling
- Avoid naive threshold checks
- Keep the implementation understandable for students
Acceptance Criteria
- Alerts trigger only on threshold crossing
- Basic alert type (above/below) is supported
- Minimal internal state prevents alert spam
- Code remains simple and readable
- Tests cover main alert scenarios
Improve Watchlist Sentinel Using Industry Alert Best Practices
Context
The current Watchlist feature allows users to:
This is intentionally simple for educational purposes. However, real-world portfolio systems implement stock alerts following certain best practices.
Reference:
https://pro.stockalarm.io/blog/how-to-set-stock-price-alerts
Proposal
Without making the system overly complex, we should slightly improve the Watchlist Sentinel to better reflect industry practices while keeping the project pedagogical.
The improvement should:
Trigger alerts only when the price crosses the threshold (not continuously while above/below)
Allow simple support for:
Store minimal alert state to avoid repeated triggering
Keep the domain model clean and aligned with DDD principles
We do not aim to implement a fully production-ready alert engine, but rather to:
Acceptance Criteria