La tecnología blockchain es una tecnología reciente y que todavía no es muy conocida entre el público general. Con el objetivo de dar a conocer esta tecnología y facilitar el uso de las criptomonedas se desarrolló una aplicación que permitía obtener pequeñas fracciones de estos activos digitales.
Estas aplicaciones son conocidas como faucets en el mundo de las criptomonedas y la mayoría son aplicaciones web, pero no hay muchas aplicaciones que funcionen para dispositivos móviles. Por tanto, desarrollar una faucet móvil fue una oportunidad para llegar a un público no explotado, y funcionó bastante bien.
La aplicación se desarrolló durante las últimas semanas de agosto de 2017, cuando todavía no había empezado los estudios de Ingeniería Informática, y se publicó los últimos días de agosto.
Nunca había creado una aplicación nativa para Android, solo había desarrollado aplicaciones web. Por tanto, esta aplicación se desarrolló como una aplicación web y luego se utilizó un web view para poder publicarla en la Play Store. No es la solución más eficiente ni adecuada pero funcionaba bastante bien. Además, me permitió crear una aplicación rápidamente.
El frontend de la aplicación estaba realizado utilizando tecnologías simples como jQuery, sin utilizar frameworks como React o Vue.js. La comunicación con el servidor se realizaba mediante peticiones a una API REST utilizando Ajax, cosa que permetía crear una interfaz de usuario más dinámica.
El backend estaba desarrollado utilizando PHP, que era uno de los lenguajes de servidor había utilizado hasta ese momento.
Una aplicación de estas características require de un panel de administración para poder gestionar fácilmente los usuarios y realizar determinadas acciones. Por lo tanto, también de creó un panel bastante simple.
Las principales funciones de este panel eran:
La pantalla principal del panel mostraba algunos datos de interés, como los usuarios registrados en el día actual o los usuarios activos en las últimas 24 horas.
Otra de las funciones principales es observar las transacciones pendientes de la aplicación. Para ello, había un listado con todas las transacciones pendientes y se podían realizar distintas acciones sobre ellas (procesarlas o cancelarlas).
También era importante poder cambiar la configuración de la aplicación sin necesidad de modificar el propio código de la aplicación. El panel de configuración, entre otras funciones, permetía modificar un mensaje visible en la aplicación, que se utilizaba para comunicar información de interés.
Una vez la aplicación está terminada y lista para el público se subió a un servidor, se compró un dominio y se publicó en la Play Store.
La publicación en la Play Store es un proceso simple pero uno cuando es nuevo se pierde entre tantos menús y opciones del Google Play Console. Una vez realizado este proceso los usuarios ya pueden descargar la aplicación.
Para el servidor, se alquiló un servidor privado virtual (VPS) de la compañía Vultr, básicamente porqué ofrecía unos precios muy competitivos para las necesidades de la aplicación.
En el servidor se instalaron y configuraron distintos servicios como el servidor web Apache, el servidor MySQL y un servidor de correo (Postfix + Dovecot) para poder disponer de un correo institucional.
Utilizando Firebase se podían enviar notificaciones a los dispositivos con la aplicación instalada. Esta herramienta también era una arma porqué provocaba que muchos usuarios accedieran a la aplicación al mismo tiempo, hasta 1200 usuarios concurrentes.
Evidentemente, el pequeño servidor no aguantaba tal intensidad de usuarios dando lugar a un deterioro de la calidad del servicio. La solución más fácil para evitar cambiar de servidor era segmentar los usuarios y enviar las notificaciones a cada uno de estos segmentos.
La aplicación estuvo operativa unos cuantos meses pero por diversos motivos no se pudo mantener operativa aunque el proyecto permitió obtener conocimientos y experiencias diversas:
Los resultados fueron muy satisfactorios porqué no esperaba tal éxito. Tanto por la aceptación de los usuarios como por la cantidad de tráfico de la aplicación.
Este ha sido el resumen del primer intento de crear una aplicación de este estilo. En los años posteriores, se intentó desarrollar unas nuevas aplicaciones con un enfoque distinto.