Dashboard del estimador mensual de la actividad economica Argentina y sus sectores productivos.
Los ciclos económicos son patrones recurrentes de expansión y contracción en la actividad económica de un país. Estos ciclos reflejan las fluctuaciones en la producción, el empleo, la inversión y otros indicadores económicos a lo largo del tiempo. La economía no se mantiene constante; en cambio, experimenta fases de crecimiento, auge, recesión y depresión. Estas fases constituyen lo que conocemos como ciclos económicos.
En Argentina la variabilidad de los ciclos económicos se caracteriza por ser volátil. Para poder reflejar estos cambios y visualizar series temporales de indices base y variaciones interanuales se desarrollo el siguiente dashboard.
Este proyecto es sobre un aplicación flexdashboard utilizando datos del Indec para representar el estimador mensual de la actividad económica de los sectores de Argentina.
La idea principal es poder tener datos actualizados de las estadísticas sobre el EMAE utilizando series temporales y distintos indicadores para ver de forma dinámica y estática la economía Argentina.
Por ultimo, se va a utilizar Docker para crear una imagen y Github Actions para automatizar el ETL y la actualización del dashboard.
La imagen que se utiliza se encuentra en DockerHub con el nombre “mgaloto/flexdash_high:01”. De todas formas, si se desean agregar o quitar librerías eso mismo se puede hacer desde packages.json. Una vez modificado el archivo se puede generar una nueva imagen y subirla a DockerHub utilizando los siguientes comandos:
docker build -t nombre_usuario/nombre_imagen:tag .
donde “nombre_usuario” es tu nombre de usuario en Docker Hub, “nombre_imagen” es el nombre que le darás a la imagen y “tag” es una etiqueta para identificar la versión de la imagen (por ejemplo, “latest” para la versión más reciente).
Una vez construida la imagen de sube al repositorio de DockerHub con los siguientes comandos:
docker login -u "usuario" -p "clave"
docker push nombre_usuario/nombre_imagen:tag
El dashboard se actualiza cada vez que hay cambios en la rama principal y el dia 1,9,20 y 25 de cada mes a las 18 Hs Argentina:
name: Dashboard Refresh
on:
push:
branches: [main]
schedule:
- cron: '0 21 1,9,20,25 * *'
Se corre sobre la versión mas reciente de ububtu server:
jobs:
refresh-the-dashboard:
runs-on: ubuntu-latest # version mas reciente de ubuntu
En un conteiner con la imagen:
container:
image: mgaloto/flexdash_high:01
El script que renderiza el R Markdown se ejecuta desde un archivo .sh en donde si se detectan cambios en el repositorio se realiza un commit:
LRED=$(printf '\033[1;31m')
LGREEN=$(printf '\033[1;32m')
if [[ "$(git status --porcelain)" != "" ]]; then
git config --global user.name $1
git config --global user.email $2
git add *
git commit -m "Auto update dashboard"
git pull
git push
echo "${LGREEN}Se registraron cambios en el repositorio.${LGREEN}"
else
echo "OK Auto update dashboard. ${LRED}No${LRED} se registraron cambios en el ${LGREEN}repositorio${LGREEN}."
fi
En el siguiente link se puede acceder al dashboard:
Para terminar el proyecto del dashboard todavía faltan los siguientes items: