Functional Requirements:

_User Management:

  1. User should be able to register and login to Google Drive securly
  2. User should be able to login from multiple device at 1 time.

_User Activity:

  1. Create file and folder
  2. Edit and delete folders and files.
  3. upload and download image, documents, videos
  4. Preview documents, images and videos
  5. Move documents to bin and delete from bin.
  6. edit to docuements can be versioned and user can go back to previous version

_Files, sharing and permissions:

  1. The user should be able to share file and folder to other Google Drive user with different permission levels like: read, edit and comment
  2. User should be able to see files and folder shared to him by another user
  3. User should be able to edit share permission and remove shared files from drive.

File syncing in multiple device in real-time

  1. Updates made from one device should be visible with min latency on another online logged in device.

NFR:

Data consistency and reliability:

  1. Updates made by user should not be lost.
  2. Security: User data should be protected and encrypted while transmission to avoid data breach.
  3. @ factor auth should be enabled to secure logged in.
  4. System should be available