Conversation
- Added alerts.price_alerts model + CRUD endpoints (/alerts, /alerts/me, patch/delete). - Validates listing existence; supports enable/disable + active filter; updates updated_at on change. - Uses enum condition (ABOVE/BELOW). Manual Swagger tests: create/list/update/delete + invalid listing 404.
- Added evaluator script that polls active alerts and checks Finnhub batch quotes. - On trigger: sets last_triggered_at, deactivates alert (idempotent on rerun). - Removes unused ticker lookup from evaluator.
- Added notify_service with console notifier and SMTP(draft) implementation - Send notification on alert trigger from evaluator (uses user's email)
- Add /alerts and /alerts/new pages with listing lookup. - Implement alerts CRUD UI against /alerts endpoints. - backend derives currency from listing.
1 task
1 task
dazw00110
approved these changes
Jan 5, 2026
Collaborator
dazw00110
left a comment
There was a problem hiding this comment.
All functionalities described in the PR have been manually verified and are working correctly:
- Backend & DB: The price_alerts model stores data correctly, and CRUD operations (create, read, update, delete) work flawlessly via the API.
- Alert Evaluator: The run_alert_evaluator.py script correctly fetches prices from Finnhub and reacts to ABOVE/BELOW conditions. A test on AAPL (target 10 USD) confirmed that alerts are properly triggered and deactivated.
- UI (Frontend): The /alerts page and /alerts/new form are fully integrated with the backend. Filtering and Enable/Disable/Delete buttons work as described.
- Notifications: The system correctly records the alert trigger by saving the last_triggered_at date in the database.
I have noticed that a new Issue has already been created regarding the "Future Improvements" note.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements a complete price alerts system covering backend, evaluation logic, notifications, and frontend UI.
Users can create price threshold alerts (ABOVE / BELOW), monitor them via UI, and have them automatically evaluated against live market quotes.
Backend (Alerts API)
Alert Evaluator Worker
Notifications
Frontend (Alerts UI)
Testing
Notes / Future Improvements (non-blocking)
These are cosmetic / architectural improvements and do not block MVP functionality.
Closes #14 Ref #30, #31, #32, #33