Implement Project Subscriptions & Subscription Frontend UI
- Dominant language
- Python
- Stars
- 451
- Forks
- 702
- Avg merge
- 22h 59m
- Merged PRs (30d)
- 91
Description
## Project Subscription Notifications & Management UI
Part of: #3227
### Background
Snapshot Notifications: Implemented in Core Notification Infrastructure & Snapshot Triggers #3637
Chapter/Event Subscriptions: Implemented in Implement Entity-Level Subscriptions for Chapters and Events #3900
Project Subscriptions: Not yet implemented
### Notification Rules
#### Projects
All Projects Subscription
When a new release is published for a project, send an email notification to all users who subscribed to "all projects."
When a milestone is updated or closed for a project, send an email notification to all users who subscribed to "all projects."
Specific Project Subscription
When a specific project has a new release/milestone, send an email notification only to users who subscribed to that particular project.
### Frontend User Interface
Users can follow/subscribe to specific: Chapter, Project, Event
Users can subscribe to: All Chapters, All Projects, All Events, All Snapshots
Users can view and manage their subscriptions in Profile Settings
### Tasks
#### Project Notifications (Backend)
[ ] Implement signal handler on Project model post_save.
[ ] Detect new release and milestone changes.
[ ] Query subscribers based on trigger type.
[ ] Queue notifications to Redis Stream.
#### Frontend Implementation
[ ] Add subscription UI in user profile.
[ ] Allow users to subscribe/unsubscribe to entities (Chapter, Project, Event, Snapshot).
[ ] Show subscription status for each entity type.
#### Worker Updates & Testing
[ ] Support both global and specific entity subscriptions in worker logic.
[ ] Write unit tests for subscription triggers and UI state.
**Are you going to work on implementing this?**
- [x] Yes
- [ ] No
Contributor guide
Assessment
This issue has not been assessed yet.