my design from reading the book:

for interested readers on the topic:
📌  links to resources that will be of massive help here (visual explanations and diagrams are 🔥 there so have a look as this is smth you’ll need in your interviews):
The Requirements Checklist
Before diving in, let's make sure we understand what our version of Google Drive needs to do. We want to support:
- File Storage: Store a massive amount of user files.
- File Sync: Automatically sync files across multiple devices (desktop, mobile, web).
- File Sharing: Allow users to share files and folders with others, with varying permission levels (view, edit, comment).
- Collaboration: Enable real-time co-editing of documents (like Google Docs).
- Version History: Keep track of previous versions of files.
- Search: Allow users to quickly find files.
- Access Control: Securely control access to files and folders.
- Scalability and Reliability: Handle millions of users and petabytes of data with high availability.
Core Components
At a high level, our Google Drive system will consist of the following key components:
- Clients: The Google Drive applications (desktop, web, mobile).