Widart, Adrien
[UCL]
Riviere, Etienne
[UCL]
Leading social networks bring together millions of users, but they are horizontal: the functionalities are basic and do not serve a specific social community. Moreover, they are centralized: the data generated are in the same place, which can present a risk (leakage, exploitation\ldots). Lastly, the architecture of these large applications is monolithic, i.e., built in a single block. Therefore, it may be complex to modify, add, and even share social network services. Also, scaling such an architecture is not always done efficiently. We propose the DEVI approach for the development of vertical, modular, and interoperable social networks. The new approach promotes the use of modern software engineering techniques: microservices, CQRS (Command Query Responsibility Segregation), event sourcing\ldots The social networks become vertical: they offer several features to help a specific social community. The use of microservices allows each feature to be developed as an isolated module. These modules can then be easily reused. This architecture also enables tailor-made scaling. Decentralization allows several instances of a web application to exist and communicate together. Moreover, with the DEVI approach, these new platforms are part of the Fediverse: a federation of servers with different social networks that can communicate with each other. In order for each instance to communicate easily with each other, the DEVI approach uses the W3C's ActivityPub protocol. The thesis will propose the implementation of a new social network. This proof of concept will be a social network for the French-speaking Scouts Federation of Belgium. The development will be done using tools such as Node.js, MongoDB for NoSQL databases, or Docker to run microservices within containers and facilitate scaling. The proof of concept will show that it is possible to create, thanks to the DEVI approach, a Decentralized, Extensible, Vertical, and Interoperable social network.


Bibliographic reference |
Widart, Adrien. Scalable and extensible social networks. Ecole polytechnique de Louvain, Université catholique de Louvain, 2020. Prom. : Riviere, Etienne. |
Permanent URL |
http://hdl.handle.net/2078.1/thesis:25174 |