You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implement a notifications module that delivers in-app messages to users when significant events occur — puzzle solved, achievement unlocked, reward granted, NFT minted. Notifications keep players engaged and informed without requiring them to poll multiple endpoints. The module should support mark-as-read and bulk-clear functionality.
Acceptance Criteria
A notifications module is scaffolded at src/notifications/
Notification entity includes id, userId, type, message, isRead, and createdAt
Notifications are created by internal events from sessions, achievements, and rewards modules
GET /notifications returns the authenticated user's notifications (unread first)
PATCH /notifications/:id/read marks a single notification as read
PATCH /notifications/read-all marks all user notifications as read
Notifications older than 30 days are soft-deleted automatically
Unit tests cover creation, retrieval, read-marking, and cleanup
Description
Implement a
notificationsmodule that delivers in-app messages to users when significant events occur — puzzle solved, achievement unlocked, reward granted, NFT minted. Notifications keep players engaged and informed without requiring them to poll multiple endpoints. The module should support mark-as-read and bulk-clear functionality.Acceptance Criteria
notificationsmodule is scaffolded atsrc/notifications/Notificationentity includes id, userId, type, message, isRead, and createdAtGET /notificationsreturns the authenticated user's notifications (unread first)PATCH /notifications/:id/readmarks a single notification as readPATCH /notifications/read-allmarks all user notifications as read