Final Thesis: Scaling Real-time Collaborative Editing in a Cloud-based Web App
Abstract: QDAcity is a cloud-based web application for multiple researchers to collaboratively conduct Qualitative Data Analysis (QDA) in shared projects. Qualitative data (in textual, visual, or audio form) can be open for interpretation and drawing of subjective conclusions. Thus, enabling and encouraging close collaboration can be highly beneficial for teams conducting QDA, since it prevents miscommunication problems. However, real-time collaborative text editing has been missing so far in QDAcity’s feature set. In the context of this master thesis, QDAcity’s existing collaboration features were extended by real-time collaborative editing of rich text documents. The implementation is required to be compatible with QDAcity’s existing features, reliable, maintainable, and extendable. In order to ensure future scalability, the implementation of real-time collaborative editing shall also be horizontally scalable. After discussing various approaches for realtime collaborative editing as well as the scaling of applications in a cloud-based environment, a suitable combination of approaches was chosen, designed, and implemented. The agile development process resulted in the implementation, evaluation, and discussion of Conflict-free Replicated Data Type (CRDT)-based real-time collaborative editing for QDAcity, by harnessing a combination of opensource technologies. Horizontal scalability was achieved by implementing the collaborative editing service in a stateless manner and interconnecting multiple instances via Redis Pub/Sub.
Keywords: Collaborative Editing, Cloud, Web App, Yjs, Scaling, Real-Time, QDAcity
PDF: Master Thesis
Reference: Martin Dürsch. Scaling Real-time Collaborative Editing in a Cloud-based Web App. Master Thesis. Friedrich-Alexander-Universität Erlangen-Nürnberg: 2023.