Define the APIs expected from the system. This is your chance to analyze and define the read and write paths so that you can come up with the high-level design...
our api should be like this :-
Here we will track user action using below paramters - userId, deviceId, action, timeStamp.
json payload will be :-
{
"notification_id": "uuid-12345",
"user_id": "user-789",
"device_id": "device-xyz",
"action": "CLICKED", // Options: DELIVERED, CLICKED, DISMISSED
"timestamp": "2026-05-05T11:42:12Z",
"metadata": {
"platform": "ios",
"campaign_id": "summer_sale_2026"
}
}
Describe the overall system architecture. Identify the main components needed to solve the problem end-to-end. Use the diagramming tool to create a block diagram.
Deep dive into 2-3 key components. Explain how they work, how they scale, discuss tradeoffs, capacity, and any relevant algorithms or data structures.