What problem does it solve?
Provides a clear domain-layer specification for handling notification entities, repository contracts, and usecases so teams can implement consistent, testable notification flows across a Flutter app.
Core Features & Use Cases
- Repository Contracts: Defines repository methods such as getNotifications, markRead, markAllRead, getUnreadCount, and registerFcmToken to standardize data access.
- Usecase Definitions: Encapsulates application actions (fetching notifications, marking read, counting unread, registering FCM tokens) as discrete usecases for easier testing and orchestration.
- Use Case Example: In a ride-hailing app, use these domain definitions to fetch a user's latest notifications, mark specific notifications as read when opened, and register device tokens for push delivery.
Quick Start
Use the notification domain definitions to implement and wire repository interfaces and usecases for fetching notifications, marking them read, and registering the device FCM token.