Rest Api for basic user functions
Event driven substrate
For REST api, something like Django WSGI or even better Nodejs, or Golang would handle the immediate customer api surface. For system functional API, these are not interfaced directly by the user but are exposed and essential for clientside operations.
Serverside, websockets and SSE should be set up. Websockets for persistenc connections if needed, like chat communications etc. SSE is fine for push based events, such as surfacing a like.
These can be done either in Django WSGI facilitated by daphne or uvicorn for example.
The initial customer serving api will be a designated service. This includes the API. Delegation of domain specific functionality will be routed via cache (redis) or something like NATS jetstream/kafka to the respective microservices.
Deep dive into 2-3 key components. Explain how they work, how they scale, discuss tradeoffs, capacity, and any relevant algorithms or data structures.