Thesis Details

Rámec pro tvorbu aplikací s podporou peer-to-peer spolupráce

Master's Thesis Student: Hrdina Jan Academic Year: 2018/2019 Supervisor: Rychlý Marek, RNDr., Ph.D.
English title
Application Development Framework for Peer-to-Peer Collaboration
Language
Czech
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

Department
Degree Programme
Information Technology, Field of Study Information Systems
Files
Status
defended, grade A
Date
19 June 2019
Reviewer
Committee
Kolář Dušan, doc. Dr. Ing. (DIFS FIT BUT), předseda
Češka Milan, prof. RNDr., CSc. (DITS FIT BUT), člen
Matoušek Petr, doc. Ing., Ph.D., M.A. (DIFS FIT BUT), člen
Pavlík Jan, Mgr., Ph.D. (DADM FME BUT), člen
Rychlý Marek, RNDr., Ph.D. (DIFS FIT BUT), člen
Smrčka Aleš, Ing., Ph.D. (DITS FIT BUT), člen
Citation
HRDINA, Jan. Rámec pro tvorbu aplikací s podporou peer-to-peer spolupráce. Brno, 2019. Master's Thesis. Brno University of Technology, Faculty of Information Technology. 2019-06-19. Supervised by Rychlý Marek. Available from: https://www.fit.vut.cz/study/thesis/21855/
BibTeX
@mastersthesis{FITMT21855,
    author = "Jan Hrdina",
    type = "Master's thesis",
    title = "R\'{a}mec pro tvorbu aplikac\'{i} s podporou peer-to-peer spolupr\'{a}ce",
    school = "Brno University of Technology, Faculty of Information Technology",
    year = 2019,
    location = "Brno, CZ",
    language = "czech",
    url = "https://www.fit.vut.cz/study/thesis/21855/"
}
Back to top