Ayudando a la biblioteca local

1 – La idea y el proyecto

Hace un tiempo, camino a la biblioteca de mi ciudad, iba pensando en que libro retirar, sin saber siquiera que títulos tenían, no había forma de saber sin ir hasta la biblioteca, preguntar en mesa de entrada y que la bibliotecaria realice la búsqueda en el sistema.

Decidí que podía mejorar la comunicación entre la biblioteca y sus socios , por medio de una app que permita al socio realizar la busqueda del titulo o autor y comunicarse con la biblioteca via whatsapp

Primeramente luego de una reunión con la comisión de la biblioteca , me permitió acceder a los datos de los libros ( más de 50 mil títulos cargados).

El sistema se llama WINISIS , o mejor dicho es el CDS/ISIS desarrollado por la UNESCO y distribuido completamente gratuito a través de distribuidores regionales.

La base de datos que utiliza el sistema es ISO en formato ISO-2709 , actualmente existe un repo en github desarrollado para extraer información del archivo ISO y volcarlo a formato JSON.

Decidí igualmente desarrollar mi propio script para extrear los datos de un archivo XML generado por el WINISIS a partir de la base de datos ISO .un pequeño script en python con la libreria ElementTree para leeer XML , luego de extraer un XML del WINISIS ( previo instalar windows xp en una maquina virtual ,ya que WINISIS no se ejecuta en windows 10) el script procesa el XML obteniendo AUTOR y TITULO para luego insertarlo en una base de datos de mysql

    tree = ET.parse('FOCBER.xml')
    root = tree.getroot()
    for elem in root:
        for subelem in elem:
            if subelem.tag == "Tag_20":
                autor = subelem.text
            if subelem.tag == "Tag_30":
                titulo = subelem.text
        insertData(autor, titulo)

En aproximadamente 2 minutos después de correr el script , tenia la base de datos en SQL de la biblioteca.

2 – Diseñando la APP

Para el diseño de la app utilice ADOBE XD, para generar un mockup que me permitiera analizar como funcionaria la app, si bien es una app sencilla, el proceso de mockup me permitió ver varios puntos a tener en cuenta.

La idea principal era la busqueda de titulos y a su vez la presentacion de una breve descripcion ( la cual tenia que recurrir a servicios de api como google books o Open Library Books API )

3 – Desarrollo API y APP

Primero desarrolle una API REST basada en PHP con el framework SLIM , la cual trae los títulos y autores a través de una búsqueda vía MySQL natural language full-text search la cual busca texto según nuestro lenguaje natural.

Ya teníamos el corazón funcionando!

Lo siguiente fue desarrollar una app en IONIC , la cual en un principio mostrara los títulos buscados , seleccionamos el titulo y permita enviar un whatsapp ( la conexión con la API de google books quedara para mas adelante )

y Uala! tenemos app!

Se puede descargar desde Google Play

Logotipo y Spash Screen
Pantalla Principal de busqueda
Mensaje que envía a través de Whatsapp