Calificación de tareas

App web de Go, Vue y PostgreSQL en Android con Termux

Este artículo es una demostración sobre cómo poder montar una aplicación web que usa VueJS del lado del cliente (con la vue cli), Go/Golang del lado del servidor y PostgreSQL como base de datos.

Vamos a montar el proyecto web en un teléfono móvil con Android, usando la app Termux. Todo estará ejecutándose en Android, ya que se usará para programar.

Es decir, tendremos a node vigilando los archivos js, a go compilando en el lado del servidor y a PostgreSQL almacenando los datos.

¡Vamos allá!

Requisitos

Comienza instalando la app de Termux. Después, instala NodeJS en Android, más tarde instala PostgreSQL en Android y finalmente instala go con:

pkg install golang

Además de los lenguajes de programación / compiladores / intérpretes necesitamos otras utilidades como git:

pkg install git

Clonando repositorio

Tengo mi proyecto en un repositorio de GitHub así que lo primero que hice fue clonarlo con:

git clone https://github.com/usuario/proyecto

Así como se ve en la siguiente imagen:

Clonando repositorio de GitHub en Android con Termux
Clonando repositorio de GitHub en Android con Termux

Una vez que estuvo listo ingresé al directorio del repositorio.

Instalar dependencias de node

Para generar el JavaScript y todo lo necesario del lado del cliente necesitamos algunas dependencias. Además, mi proyecto usa Buefy.

Gracias al archivo package.json simplemente ejecuté:

npm install

Y esperé a que estuviera terminado.

Instalando dependencias de Node en Termux
Instalando dependencias de Node en Termux

Con eso ya tenía lo necesario para el lado del cliente.

Instalación de dependencias de Go

En el lado del servidor también necesité algunos paquetes de Go; todavía no uso dep, así que me tocó hacerlo manualmente.

Algunos paquetes usados fueron gorilla, gorm, entre otros. Cada paquete se instala con go get ruta_paquete como se ve en la imagen:

Dependencias de Go con go get
Dependencias de Go con go get

Ejecutando app

Del lado del cliente tenía que ejecutar npm run serve para que se compilaran los archivos, y así fue, después de 40 segundos todo había compilado y estaba escuchando en el puerto 8080:

Compilando app de JavaScript en Termux con npm run serve
Compilando app de JavaScript en Termux con npm run serve

Eso fue del lado del cliente, pero faltaba el lado del servidor. Para ello abrí otra sesión de Termux y ejecuté:

go build

Para compilar mis archivos. Más tarde ejecuté:

./api

Y el servidor empezó a escuchar en el puerto 2811:

Compilando app de Go en Android
Compilando app de Go en Android

La edición del archivo fue para cambiar las credenciales de Go a PostgreSQL, pues no son las mismas que en mi pc local y todavía no uso env.

Todo estaba listo, ahora era momento de probar.

Probando app

La app que estoy haciendo es un control escolar simple que lleva la asistencia, tareas y otras cosas; lo presentaré más tarde (por ahora puedes ver un control escolar de calificaciones y horarios con gráficas y reportes).

Actualización: ya he publicado el software de control de tareas.

Pero ahora visité localhost en el puerto 8080 y todo fue de maravilla:

App web de Vue Go y PostgreSQL en Android usando Termux
App web de Vue Go y PostgreSQL en Android usando Termux

Lo anterior solo fue un menú pero quise ver si la base de datos funcionaba. Me sorprendió lo rápido que fue (incluso más rápido que en mi computadora, lo cual es razonable pues pronto cumplirá 5 años de servicio):

Gestión de alumnos
Gestión de alumnos

Para terminar muestro otra captura que tuve que tomar en modo de escritorio; se trata de una revisión de tareas:

Calificación de tareas
Calificación de tareas

Por el momento no se adapta a las pantallas pequeñas pero ya veré los ajustes.

Conclusión

Android, gracias a Termux, nos ha dado posibilidades que no habríamos imaginado. Ahora se puede programar completamente en un dispositivo móvil, y hay varios paquetes (incluso el SO ubuntu sobre Android) populares para programadores.

Con un teclado y un mouse inalámbrico, una pantalla o quizás una tableta, podríamos hacer algunos ajustes o cambios rápidos de código de manera portátil.

Te invito a ver más sobre Termux en mi blog.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario