Thesis
Diseño, implementación y pruebas de un servicio de mensajería instantánea con WebSocket

dc.contributor.departmentDepartamento de Electrotecnia e Informática
dc.contributor.guiaLara Valenzuela, Cristian Antonio
dc.coverage.spatialSede Concepción
dc.creatorSolar Canales, Tomás Ignacio
dc.date.accessioned2025-12-22T14:20:20Z
dc.date.available2025-12-22T14:20:20Z
dc.date.issued2025-12
dc.description.abstractLa presente memoria aborda el diseño, implementación y validación de un módulo de mensajería instantánea para la plataforma BeatMap, orientada al ecosistema musical chileno. El objetivo principal fue desarrollar un backend capaz de permitir comunicación en tiempo real entre usuarios, mediante una arquitectura segura, escalable y preparada para migrarse a una arquitectura de microservicios. Para esto, se implementó un backend basado en Spring Boot, WebSocket con STOMP y RabbitMQ como broker de mensajería, junto con una base de datos PostgreSQL que soporta chats privados, historiales de mensajes paginados y estados de lectura. La metodología incluyó el análisis de requisitos tecnológicos para el diseño arquitectónico, diseño iterativo y validación exhaustiva mediante pruebas unitarias, de integración y pruebas funcionales por procesos UAT, a través de vistas HTML especializadas. Los resultados demostraron que el módulo es estable, consistente y capaz de procesar, transmitir y persistir mensajes sin pérdidas de información, permitiendo un flujo de comunicación confiable en tiempo real. La solución constituye un aporte técnico significativo para BeatMap, habilitando la futura expansión del módulo hacia funcionalidades avanzadas, como envío de archivos multimedia, optimización de servicios y cifrado end-to-end.es
dc.description.abstract This thesis addresses the design, implementation and validation of an instant messaging module for the BeatMap platform, aimed at the Chilean music ecosystem. The main objective was to develop a backend capable of enabling real-time communication between users, using a secure, scalable architecture that is ready to migrate to a microservices architecture. To this end, a backend based on Spring Boot, WebSocket’s with STOMP and RabbitMQ as a message broker was implemented, along with a PostgreSQL database that supports private chats, paginated message histories and read statuses. The methodology included the analysis of technological requirements for architectural design, iterative design, exhaustive validation through unit testing, integration testing, and functional testing by UAT processes using specialized HTML views. The results demonstrated that the module is stable, consistent, and capable of processing, transmitting, and persisting messages without loss of information, enabling reliable real-time communication flow. The solution constitutes a significant technical contribution to BeatMap, enabling future expansion of the module toward advanced functionalities such as multimedia file sending, service optimization, and end-to-end encryption.en
dc.description.programIngeniería en Informática
dc.format.extent93 páginas
dc.identifier.barcode3560900289574
dc.identifier.urihttps://repositorio.usm.cl/handle/123456789/77494
dc.language.isoes
dc.publisherUniversidad Técnica Federico Santa María
dc.rightsAttribution-NonCommercial-NoDerivatives 4.0 Internationalen
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/4.0/
dc.subjectMensajería instantanea
dc.subjectComunicación en tiempo real
dc.subjectArquitectura de software
dc.subjectPlataformas digitales musicales
dc.subjectWebSocket
dc.subjectRabbitMQ
dc.subjectSpring Boot
dc.subjectBackend
dc.subjectPostgreSQL
dc.titleDiseño, implementación y pruebas de un servicio de mensajería instantánea con WebSocket
dspace.entity.typeTesis

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
3560900289574.pdf
Size:
3.5 MB
Format:
Adobe Portable Document Format

License bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.71 KB
Format:
Item-specific license agreed to upon submission
Description: