Requirements Gathering for Dropbox System Design

Functional Requirements:

  • The user should be able to upload photos/files.
  • The user should be able to create/delete directories on the drive.
  • The user should be able to download files
  • The user should be able to share the uploaded files.
  • The drive should synchronize the data between user all devices.

Non Functional Requirements:

  • Availability: Availability means what percentage of the time the system is available to take a user’s request. We generally mention availability as 5 Nine’s, 4 Nine’s, etc. 5 Nine’s means 99.999% availability, 4 Nine means 99.99% availability, and so on.
  • Durability: Durability means the data uploaded by the user should be permanently stored in the database even in case of database failure. Our System should ensure the files uploaded by the user should be permanently stored on the drive without any data loss.
  • Reliability: Reliability means how many times the system gives the expected output for the same input.
  • Scalability: With the growing number of users our system should be capable enough to handle the increasing traffic.
  • ACID properties: Atomicity, Consistency, Integrity and Durability. All the file operations should follow these properties.

Design Dropbox – A System Design Interview Question

System Design Dropbox, You might have used this file hosting service multiple times to upload and share files or images. System Design Dropbox is a quite common question in the system design round. In this article, we will discuss how to design a website like Dropbox.

Important Topics for the Dropbox System Design

  • Requirements Gathering for Dropbox System Design
  • Capacity Estimation for Dropbox System Design
  • High-Level Design(HLD) of Dropbox System Design
  • Low-Level Design(LLD) of Dropbox System Design
  • Database Design for Dropbox System Design
  • API Design for Dropbox System Design
  • Scalabilty for Dropbox System Design

Similar Reads

1. Requirements Gathering for Dropbox System Design

Functional Requirements:...

2. Capacity Estimation for Dropbox System Design

Storage Estimations:...

3. High-Level Design(HLD) of Dropbox System Design

...

4. Low-Level Design(LLD) of Dropbox System Design

A lot of people assume designing a Dropbox is that all they just need to do is to use some cloud services, upload the file, and download the file whenever they want but that’s not how it works. The core problem is “Where and how to save the files? “. Suppose you want to share a file that can be of any size (small or big) and you upload it into the cloud....

5. Database Design for Dropbox System Design

To understand Database design one should understand...

6. API Design for Dropbox System Design

...

7. Scalabilty for Dropbox System Design

...

8. Conclusion

...

Contact Us