Estimate the scale of the system. Consider daily active users, read/write ratio, storage requirements, bandwidth, and any relevant QPS calculations...
2 API Path is sufficient I guess if we just want to build user facing type of app.
When request come, it will be handled/routed by NGINX or load balancer that will decide which service will handle it. After that the chosen service will response based on the logic reside on the API.
Creation API
Redirection API
Define the data model. Identify the main entities, their attributes, and relationships. Consider the choice of database type (SQL vs NoSQL) and justify your decision based on access patterns...
Deep dive into 2-3 key components. Explain how they work, how they scale, discuss tradeoffs, capacity, and any relevant algorithms or data structures.