La idea es crear un sistema que permita a los usuarios tener el control sobre sus gastos. La aplicación mostrará un informe actualizado dia a dia sobre los gastos/ingresos del usuario, esto lo podrá hacer automatizando gastos/ingresos mensuales para asi predecir el dinero que va a poder gastar en un periodo de tiempo conseguiendo al mismo tiempo ahorrar dinero. Se calcularán los gastos de los usuarios para asi reducir los gastos de su dia a dia para obtener unos ahorros más consolidados.
La idea del proyecto viene de querer predecir el dinero que generarán los usuarios en un tiempo determinado en base a sus gastos e ingresos para lograr una salud financiera y evitar problemas con su dinero. El principal problema que se trata de solucionar es el de ahorrar diaria, semanal, mensual o anualmente según como quiera el usuario. La idea es que se ajuste al objetivo de ahorros del usuario.
Para acceder a toda la documentación puede acceder desde aquí
Como este proyecto se esta implementando el Go, se ha buscado un task runner para este. El elegido es Task. Para ver más información sobre el gestor de tareas y dependecias pinche aquí.
-
Necesitamos tener instalado tener instalado en nuestro sistema Go. Si no esta instalado se puede hacer desde aquí.
-
Para instalar Task podemos hacerlo desde un script, esto resulta util en escenarios como CI. La siguiente orden instalará el gestor de tareas en el directorio /usr/local/bin:
sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b /usr/local/bin
-
Clonamos el repositorio y accedemos a el:
git clone git@github.com:LuisArostegui/MyWallet.git cd MyWallet
-
Uso de Task Una vez en el repositorio podemos ejecutar las siguientes acciones:
- task install, se generará un ejecutable del proyecto en $GOPATH/bin
- task run, ejecuta el proyecto.
- task check, se comprobará la sintaxis de las entidades programadas.
- task installdeps, se incluirán las dependecias del proyecto en el fichero go.mod.
- task test, se ejecutarán todos los tests del proyecto.
Se puede consultar toda la información acerca de los test unitarios desarrollados aquí.
Toda la información sobre el uso de docker y todo lo relativo a ello se puede encontrar aquí.
Toda la información sobre el uso de CI en el proyecto y todo lo relativo a ello se puede encontrar aquí.