+34 681 386 013 sergioalvarez3000@gmail.com
Seleccionar página

Diccionario de rimas rápido y potente

Aplicación en producción que localiza rimas de palabras

Resumen técnico del proyecto

La app se ha desarrollado en Android Studio con código híbrido Java – Kotlin ya que la separación silábica y selección de la sílaba tónica de las palabras la realiza una clase desarrollada en Java.

La base de datos partió de un .txt obtenido de la RAE el cual fue procesado con python para serializar los datos y organizar las sílabas para optimizar al máximo las consultas. La base de datos tiene una estructura creativa que permite al algoritmo principal de la app localizar las rimas necesarias mediante consultas sql de forma sencilla.

La UI implementa componentes de Material Design resultando sencilla e intuitiva respecto a la usabilidad.

Análisis previo

Realicé un estudio de los comentarios y reseñas de aplicaciones similares disponibles antes de comenzar el desarrollo y de esta manera obtuve información relevante para la solución de problemas que las actuales apps disponibles presentaban. Tras enumerar los problemas repetidos e individuales del resto de software similar reportados por los usuarios así como quejas o alagos a las funciones disponibles comencé el desarrollo el cual se llevó a cabo en aproximadamente 15 horas para una primera versión funcional.

Funcionalidad

La app presenta una interfaz sencilla que simplifica el uso. Era necesario que la app no descargase la base de datos en cada arranque o incluso en cada búsqueda (presentado en apps similares), por ello se emplea una db prepoblada SQLite y evitar el uso innecesario de conexión.

Otro problema presentado en otros softwares parecidos era que las apps cargan en la RAM del dispositivo el diccionario entero para realizar la búsqueda, lo cual resulta en una inestabilidad enorme en dispositivos con media – baja potencia.

Los usuarios demandaban en su mayoría la función de scroll en los resultados lo cual he implementado por la sencillez de los datos (un solo string) en ListView.