Skip to content

Functional requirements

1. Create document

  • Users should be able to create documents online.

2. Share document

  • Users should be able to share private (inviting collaborators) or public documents.

3. Authorization control

  • Users should be able to edit each collaborator permissions (read-only/write) to their private shared documents.

4. Real-time Collaboration: Multiple users editing simultaneously

  • Users should be able to collaborate online and see the changes from everyone else live (near-real-time).

  • Users should be able to collaborate to the same document simultaneously without overriding other person's changes.

  • Users should be able to undo their own changes.

  • Users should be able to undo global changes (when online).

  • Highlight users positions and collaborations in near-real-time.

5. Synchronize and resolve conflicts automatically

  • Synchronization should occour automatically without the needing to review or merge conflitcts manually.

6. Offline support: Avoid data loss

  • Users should be able to save their editing locally when they have no internet connectivity and then synchronize the changes when they get online again.

7. Supported media type

  • Should support collaborative editing only for text documents.
  • Should support export method to different formats such as .pdf, .txt, .docx and .md.

8. Support bigger documents

  • Should support not only small documents of a few pages, but also bigger documents with many pages.

9. Version control

  • Provide a version control so users can restore from a specific version.