Design: Media Sharing in Messages
Design covers media upload, storage, message integration, delivery, and retrieval. Does not cover user authentication or message text-only features.
Functional Requirements
Non-Functional Requirements
Jump into concepts and practice - no test required
Client App | | Upload media + message v API Gateway / Media Upload Service | | Store media file -> Object Storage (S3) | Send media info -> Media Processing Service | Store message + media metadata -> Message DB | Media Processing Service | | Generate thumbnails, transcode if needed | Update media metadata in DB | CDN <-> Object Storage | Client App (media retrieval via CDN with signed URLs) Cache Layer (Redis) for media metadata caching Message Service handles message delivery with media references