Firespark: Design and Development of a Message-Sharing Social Network
This work aims to present the steps required to build a modern open-source social network including features such as users, followers, and sending posts and comments, with a simple client-server architecture and design to allow for easy maintainability and extensibility to any feature desired. The o...
| Autor: | |
|---|---|
| Tipo de recurso: | tesis de maestría |
| Fecha de publicación: | 2022 |
| País: | España |
| Institución: | Universidad Complutense de Madrid (UCM) |
| Repositorio: | Docta Complutense |
| Idioma: | inglés |
| OAI Identifier: | oai:docta.ucm.es:20.500.14352/73912 |
| Acceso en línea: | https://hdl.handle.net/20.500.14352/73912 |
| Access Level: | acceso abierto |
| Palabra clave: | 004(043.3) Social network API Relational database SQL Android PHP Python GCP VMs Louvain. Red social Bases relacionales Informática (Informática) 1203.17 Informática |
| Sumario: | This work aims to present the steps required to build a modern open-source social network including features such as users, followers, and sending posts and comments, with a simple client-server architecture and design to allow for easy maintainability and extensibility to any feature desired. The objective is to also demonstrate how modern web services help with turning what two decades ago were considered to be complex hosting tasks, into almost trivial tasks requiring little to no effort from the developer’s point of view. To develop and host our social network, a Google Cloud Platform virtual machine has been selected, along with a relational database for its data management. The thesis discusses all aspects from planning, methodology, gathering requirements, server and database design and coding, along with an Android client design and implementation to serve as a user gateway to the network. An extra exercise is performed on top of the built network to demonstrate (I) the concept of community detection using the Louvain method, and (II) how any developer can make use of the network’s interface to develop personal client applications. |
|---|