Master's Thesis

Application Development Framework for Peer-to-Peer Collaboration

Final Thesis 2.35 MB

Author of thesis: Ing. Jan Hrdina

Acad. year: 2018/2019

Supervisor: RNDr. Marek Rychlý, Ph.D.

Reviewer: Mgr. Ing. Pavel Očenášek, Ph.D.

Abstract:

The thesis deals with the design and implementation of the application framework for the creation of collaborative web editors that enable peer-to-peer collaboration in real time. The thesis summarizes existing approaches for data replication, from which M. Kleppmann's CRDT (conflict-free replicated data type) for JSON is chosen as the most suitable. Using the resulting framework, the created content can be safely shared in groups of peers, where each member can be assigned different permissions. Own communication protocols based on WebRTC, WebSocket and WebCrypto are designed and implemented for P2P connection establishment and subsequent communication. The framework allows to resolve conflicts and work independently without an Internet connection. For a consistent user experience, the library includes a set of user interface elements for managing friends, groups, and other common tasks. The framework is implemented using functional design patterns implemented in the ReasonML language. The functionality of the result is verified by creating an example application of the mind map editor.

Keywords:

framework, web development, peer-to-peer, distributed systems, collaboration, functional programming, authentication, authorization, conflicts, ReasonML, WebRTC, CRDT

Date of defence

19.6.2019

Result of the defence

Defended (thesis was successfully defended)

znakmkaAznamka

Grade

A

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm A - výborně.

Otázky u obhajoby:

  1. Jak jsou proti sobě autentizování legitimní uživatelé? Jak je zajištěno, že se uživatel nepropojí s útočníkem?
  2. Proč jste použil pro implementaci právě jazyk ReasonML?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology (IT-MSC-2)

Study branch

Information Systems

Composition of Committee

doc. Dr. Ing. Dušan Kolář (předseda)
prof. RNDr. Milan Češka, CSc. (místopředseda)
Ing. Petr Matoušek, Ph.D., M.A. (člen)
Mgr. Jan Pavlík, Ph.D. (člen)
RNDr. Marek Rychlý, Ph.D. (člen)
Ing. Aleš Smrčka, Ph.D. (člen)

Supervisor’s report
RNDr. Marek Rychlý, Ph.D.

Grade proposed by supervisor: A

File inserted by supervisor Size
Supervisor assessment [.pdf] 86.24 kB

Grade proposed by reviewer: A

File inserted by the reviewer Size
Review [.pdf] 87.14 kB