Residencia Base de Datos de Prensa – Ekaitz Zárraga – Periodo: Julio – Diciembre 2018

El inicio, compartiendo datos

Tal y como dice el título, mi labor en esta residencia es hacer una aplicación para compartir datos. Estoy elaborando una base de datos de prensa.

Cogeremos una base de datos de contactos de prensa que está guardada en Google Docs, y la moveremos a una aplicación determinada que está preparada para guardar, buscar y editar esos datos.

¿Por qué no seguir usando Google Docs?

Podríamos dar muchos argumentos, pero ahora solo vamos a mencionar dos.

  1. En Google el lema don’t be evil se queda en un simple lema.#FuckOffGoogle
  2. Tener una aplicación específica puede mejorar nuestro proceso de muchas maneras. En este caso, facilita las búsquedas y ofrece la posibilidad de añadir nuevos avances en un futuro. Es una cuestión de flexibilidad y optimización. Y también un tema de soberanía tecnológica.

¿Y mi opinión personal?

Aunque no lo creáis, con lo anterior me es suficiente. Si bien a veces todo puede alinearse para crear magia.

Además de lo anterior, la aplicación se publicará como Software Libre para que todo el mundo pueda usarla o modificarla. Si eso no me aporta una alegría inmensa y me llena completamente, ¿qué me lo va a aportar?

Se me ocurre una cosa: aprender cosas nuevas en el camino.

Y eso es lo que haremos; a la vez que mejoramos la soberanía tecnológica de Wikitoki, aprenderemos y crearemos una herramienta para todo el mundo. Mejor acuerdo, imposible.

Trabajo, futuro y pasado

Lo que tenemos que hacer es fácil de explicar: haremos una base de datos de contactos de prensa.

Este trabajo requiere otras condiciones más, así que, para completarlas, me reuní con Gorka (Urbanbat) y Paula (Sarean) a principios de mes. Entre las tres hicimos un análisis y decidimos qué hacer. A modo de resumen:

  1.    Habrá diferentes roles: edición, administración y lectura.
  2.    Será bonita, en lugar de hortera. Minimalista. Este punto es muy importante.
  3.    Deberá ser flexible, que permita añadir más contactos en el futuro.

A partir de ahí, mi trabajo estos días ha sido bastante independiente, ya que he tenido que sumergirme en la tecnología. Además, hasta que no se define la estructura del código no se puede enseñar gran cosa.

A pesar de ello, podemos hacer un pequeño análisis del trabajo realizado.

Para empezar, hay que decidir un stack tecnológico, y, como mi objetivo es aprender, he decidido usar un framework que he estado analizando estos últimos meses y que está basado en el lenguaje Clojure: Luminus. Obviamente detrás de esa elección hay más razones: que la aplicación sea fácil de mantener y de instalar, que sea simple, etc. También tiene su lado malo: aunque la comunidad sea muy activa, Clojure no es un lenguaje muy usado, y, en lo que a mí respecta, aún no lo domino demasiado.

El framework que hemos escogido es muy modular y ofrece muchas posibilidades, así que a la par hay que ir tomando diferentes decisiones.

Por un lado, hay que optar por una base de datos. Para esta aplicación he analizado las bases de datos MongoDB o CouchDB, ya que están orientadas a los documentos y esa es una de las estructuras que va bien con nuestra aplicación. Pero al final, buscando la simplicidad, he optado por SQLite. Con ese framework sería muy fácil migrar a otra base de datos en el caso de que fuese necesario. No ha sido una decisión nada fácil, pero al final he decidido dar prioridad a la facilidad y a la simplicidad en este proyecto.

Por otro lado, hay que decidir un estilo. Como no me dedico al diseño, en este caso he decidido utilizar un framework para hacer interfaces. Las personas técnicas, que como yo no son expertas, suelen usar el framework Bootstrap. En mi opinión Bootstrap no cumple del todo esa segunda condición que hemos mencionado, y es por eso que he decidido usar Semantic-UI.

Una vez tomadas esas decisiones, llega el momento de comenzar con la programación, que es a lo que más me he dedicado estos días. Definir el modelo de datos de la base de datos, definir las consultas y gestionar el registro de personas usuarias. Me he dedicado de lleno a eso.

Una vez tengamos esa parte acabada, el resto irá mucho más rápido, lo que nos permitirá concentrarnos en el aspecto de la aplicación y otras cuestiones.

Estos últimos días me he dedicado a gestionar los diferentes roles. Cuando acabe con eso, iré directamente a visualizar los datos, y entonces ya tendré listas todas las bases para poner en marcha la aplicación. A partir de ahí iré haciendo las plantillas de la interface y creando las funcionalidades junto con las compañeras de WikiToki. Veremos qué tal sale.

Espero que os haya resultado interesante.

Si queréis ver el código de la aplicación, podéis ojear mi evolución, hacer preguntas o lo que queráis. Mi repositorio está abierto a todo el mundo (por ahora, el código está en la rama “develop”).

Agur bero bat,

Ekaitz Zárraga

 

 

 

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *