Context
Overview
This document describes the context for a Collaborative Document Editor system, similar to Google Docs, designed to support both online and offline editing. The system is intended to allow multiple users to edit the same document simultaneously while ensuring data consistency and conflict resolution.
The documentation starts from an initial suggested implementation, analyzing potential failure points and gradually proposing improvements and strategies to support a more robust and scalable solution.
Key Objectives
- Check on Functional Requirements and Non Functional Requirements.
Scope
- Collaborative editing of rich-text documents with real-time synchronization.
- Conflict-free merging of offline and online edits.
- Audit logging of document access and changes.
- Support for large-scale concurrent users without sacrificing performance.
Assumptions
- Users may experience connectivity failures.
- Backend services are deployed globally to reduce latency for end users.
- CRDT algorithms LSEQ to handle concurrent edits.
Author
Plinio Duarte