SysDesigner

Design a File Storage Service

Medium

Design a Dropbox-like system that lets users upload, store, and sync files across devices. The system should support versioning, file deduplication, and high availability.

Functional Requirements

  • Allow users to upload and download files
  • Support file versioning and history
  • Sync files across devices in near real-time
  • Detect and handle file conflicts during sync

Non-Functional Requirements

  • Ensure data durability and replication
  • Support large file uploads (up to 5GB)
  • Target sync latency < 500ms per change
  • Handle millions of active users

Define Entities

Define API Routes

Components