File Storage System Design
    Stage 1 of 5
    Challenge Context

    A startup is building a cloud file storage service to compete with established players. The initial version needs to allow users to securely upload their personal files to the cloud and access them from anywhere. The system must handle files up to 100MB in size, support concurrent uploads and downloads, and ensure file integrity throughout the process. User experience during slow network conditions and interruptions is critical for adoption.

    As the Technical Lead, you've been tasked with addressing this challenge. The CTO and CPO have outlined the following requirements:

      Design a system that allows users to upload files up to 100MB in size

      Implement reliable and resumable upload/download mechanisms

      Ensure file integrity verification for all transfers

      Create efficient file metadata indexing for quick retrieval

      Build secure authentication and authorization for file access

    References & Resources

    Components

    Client
    Server
    Load Balancer
    Cache
    CDN
    Database
    Message Queue
    Custom Component