Desarrollo de un cliente móvil multiplataforma para servidores de música Subsonic

Bookmark (0)
Please login to bookmark Close

El presente Trabajo de Fin de Grado aborda el desarrollo de una aplicación móvil multiplataforma moderna para servidores de música Subsonic, utilizando React Native como tecnología base. El proyecto surge de la necesidad de superar las limitaciones identificadas en las aplicaciones cliente existentes, que presentan interfaces anticuadas, funcionalidades incompletas y problemas de mantenimiento.
La aplicación desarrollada implementa todas las funcionalidades esenciales del protocolo Subsonic, incluyendo navegación por canciones, álbumes, artistas, playlists y géneros, además de un sistema integral de búsqueda. Una de las principales contribuciones del proyecto es la implementación de un sistema robusto de caché offline que permite la descarga automática de canciones durante la reproducción y garantiza la continuidad del servicio sin conexión a internet.
La arquitectura de la aplicación se basa en una gestión de estado centralizada mediante Zustand, una base de datos SQLite para metadatos locales y el sistema de archivos para almacenamiento de contenido multimedia. El proyecto incluye un pipeline completo de CI/CD configurado con GitHub Actions y una suite exhaustiva de 252 casos de prueba que validan tanto la lógica de negocio como los componentes de interfaz de usuario.
Los resultados demuestran que la aplicación cumple exitosamente con todos los objetivos planteados, ofreciendo una experiencia de usuario moderna y estable en dispositivos iOS y Android. El proyecto representa una alternativa viable a las aplicaciones cliente existentes y contribuye al ecosistema de software descentralizado, promoviendo el control de datos personales y la privacidad en el consumo de música digital.
ABSTRACT
This Final Degree Project addresses the development of a modern cross-platform mobile application for Subsonic music servers, using React Native as the base technology. The project emerges from the need to overcome limitations identified in existing client applications, which present outdated interfaces, incomplete functionalities, and maintenance issues.
The developed application implements all essential functionalities of the Subsonic protocol, including navigation through songs, albums, artists, playlists, and genres, plus a comprehensive search system. One of the main contributions of the project is the implementation of a robust offline cache system that enables automatic song downloads during playback and ensures service continuity without internet connection.
The application architecture is based on centralized state management using Zustand, an SQLite database for local metadata, and the file system for multimedia content storage. The project includes a complete CI/CD pipeline configured with GitHub Actions and a comprehensive test suite of 252 test cases that validate both business logic and user interface components.
Results demonstrate that the application successfully meets all established objectives, offering modern and stable user experience on iOS and Android devices. The project represents a viable alternative to existing client applications and contributes to the decentralized software ecosystem, promoting personal data control and privacy in digital music consumption.

​El presente Trabajo de Fin de Grado aborda el desarrollo de una aplicación móvil multiplataforma moderna para servidores de música Subsonic, utilizando React Native como tecnología base. El proyecto surge de la necesidad de superar las limitaciones identificadas en las aplicaciones cliente existentes, que presentan interfaces anticuadas, funcionalidades incompletas y problemas de mantenimiento.
La aplicación desarrollada implementa todas las funcionalidades esenciales del protocolo Subsonic, incluyendo navegación por canciones, álbumes, artistas, playlists y géneros, además de un sistema integral de búsqueda. Una de las principales contribuciones del proyecto es la implementación de un sistema robusto de caché offline que permite la descarga automática de canciones durante la reproducción y garantiza la continuidad del servicio sin conexión a internet.
La arquitectura de la aplicación se basa en una gestión de estado centralizada mediante Zustand, una base de datos SQLite para metadatos locales y el sistema de archivos para almacenamiento de contenido multimedia. El proyecto incluye un pipeline completo de CI/CD configurado con GitHub Actions y una suite exhaustiva de 252 casos de prueba que validan tanto la lógica de negocio como los componentes de interfaz de usuario.
Los resultados demuestran que la aplicación cumple exitosamente con todos los objetivos planteados, ofreciendo una experiencia de usuario moderna y estable en dispositivos iOS y Android. El proyecto representa una alternativa viable a las aplicaciones cliente existentes y contribuye al ecosistema de software descentralizado, promoviendo el control de datos personales y la privacidad en el consumo de música digital.
ABSTRACT
This Final Degree Project addresses the development of a modern cross-platform mobile application for Subsonic music servers, using React Native as the base technology. The project emerges from the need to overcome limitations identified in existing client applications, which present outdated interfaces, incomplete functionalities, and maintenance issues.
The developed application implements all essential functionalities of the Subsonic protocol, including navigation through songs, albums, artists, playlists, and genres, plus a comprehensive search system. One of the main contributions of the project is the implementation of a robust offline cache system that enables automatic song downloads during playback and ensures service continuity without internet connection.
The application architecture is based on centralized state management using Zustand, an SQLite database for local metadata, and the file system for multimedia content storage. The project includes a complete CI/CD pipeline configured with GitHub Actions and a comprehensive test suite of 252 test cases that validate both business logic and user interface components.
Results demonstrate that the application successfully meets all established objectives, offering modern and stable user experience on iOS and Android devices. The project represents a viable alternative to existing client applications and contributes to the decentralized software ecosystem, promoting personal data control and privacy in digital music consumption. Read More