Skip to content

feat: implement notifications module and API endpoints#20

Merged
IsraaXx merged 6 commits into
developfrom
feature/persistent-notifications
Jun 28, 2026
Merged

feat: implement notifications module and API endpoints#20
IsraaXx merged 6 commits into
developfrom
feature/persistent-notifications

Conversation

@IsraaXx

@IsraaXx IsraaXx commented Jun 27, 2026

Copy link
Copy Markdown
Member

Summary

This PR introduces the complete infrastructure for the in-app notifications system, enabling event-driven updates across the application and providing clean, scalable APIs.

Key Changes

Features

  • Notifications Infrastructure: Implemented the core architecture for the notifications module, including entities, NotificationType enums, and an event-driven NotificationListener to seamlessly capture and store user activities.

  • Refined API Contracts: Upgraded generic Map responses to concrete DTOs (e.g., UnreadCountResponse) within the notifications controller.

  • Paginated Responses: Updated notification endpoints to return mapped Page<NotificationResponse> rather than raw database entities, providing a clean and scalable data structure tailored for infinite scrolling.

Testing

Established a dedicated testing environment for the notifications module with an isolated H2 database configuration (NotificationsTestApplication).

@IsraaXx IsraaXx self-assigned this Jun 27, 2026

@Eng-AmanyMohamed Eng-AmanyMohamed left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good Job, Israa👏🏻

Change NotificationService to accept NotificationDetails from the events contract instead of individual parameters. This simplifies the event listener, eliminates manual field mapping, and adds bulk save capability. Also adds safe enum parsing via fromStringOrDefault() in NotificationType.

@Joseph-Sameh-0 Joseph-Sameh-0 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work ya Israa 👏🏻

@IsraaXx IsraaXx merged commit 551d106 into develop Jun 28, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants