π Problem Statement
Design and implement a scalable notification system for Insyd, a social platform for the Architecture Industry.

π― Goals
- Build a reliable notification system that can handle various notification types
- Design for initial scale of 100 DAUs
- Implement an efficient queue-based asynchronous processing system
π§© Functional Requirements
- Allow users to only receive In-app notifications. (Other notification channels like email, sms are not handled)
- Support Single notification type that is βTEXTβ
- Provide notification management capabilities:
- View notification history
- Mark notifications as read
π« Non-Functional Requirements
- Scalability: Scale from 100 DAUs to 1 million DAUs
- Reliability: Ensure notifications are delivered at least once