The system will send notification as Android & iOS push notifications as well as SMS & Email.
In DB schema, a user will have multiple devices. The device table will have user id as foreign key
The notification server sends request to multiple APIs for sending notifs to multiple channels. We can add queues in front of APIs to handle third party service failures. Also handle high volume of notifications.
Transclude of System-Design-Ch-10---Notification-System-2025-02-23-20.29.10.excalidrawThe notification db is used so notifications are not lost.