Es necesario tener instalado en tu sistema operativo los siguiente programas
- git
- docker Testeado con Docker version 20.10.14
- docker-compose Testeado con Docker Compose version v2.3.3
- make
- node/npm (preferentemente con nvm) Tener instalado minimo Node v16.17.0 o superior
Es habitual al instalar docker, no tener tu usuario en el grupo docker. Solución usermod -aG docker $TU_USUARIO
Ver Documentación de VUELIX - Vuelix is a Vue 3 + Vite starter template to scaffold new projects really fast and with a great developer experience.
Auditamos con esta biblioteca vue-a11y que utiliza axe-core. Toma en cuenta las siguientes reglas.
npm install
(Actualmente no es necesario Código de API esta commiteado) NOTE: Requiere java
jvm
tien que estar instalado.
npm run gen-api
npm run dev
Usa en el navegador: http://localhost:3000
To build the app, run
npm run build
And to preview it, after building the app run
npm run serve
Usa en el navegador: http://localhost:5000
Ver README
Recordar tener un dump de la DB que contenga al menos el esquema public de HSI
Usar variables de ambiente por defecto:
cp .env.example .env
Inicializa todos los servicios (pgadmin, postgres y cube)
make start
-
Se deben modificar del archivo .env.example ( tanto en el root y en la carpeta backend) a .env y completar con los datos necesario
-
Luego se debe ejecutar los siguientes comandos desde makefile:
make recreate-data-dashboard-prod
- Luego ejecutar para buildear el frontend y levantar los servicios necesarios.
make build-prod
make start-prod
-
Se deben renombrar todas los .env. a .env (en el root y en la carpeta backend) y completar con los datos necesario
-
Luego se debe ejecutar los siguientes comandos desde makefile:
make recreate-db-develop
-
- Luego ejecutar para levantar los servicios
make start
Para facilitar el desarrollo se genero una dockerizacion de los siguientes servicios.
- Postgres
- Cube
- PgAdmin
El servicio de Postgres va ser la base de datos que usaremos para todo el proyecto
En la el directorio develop/databases
podemos encontrar las siguientes cosas
config/servers/local:
Archivo con variables de entornoscripts/init
: Carpeta donde se ejecutan los script al inicializar Ver para mas infoscripts/dump
: Carpeta donde se almacenan los dumpsscripts/onlydata
: Carpeta donde se almacenan backups de los datos asociados al esquema tableroscripts/schema
: Carpeta donde se almacenan backup del esquema tablero
Es necesario definir en el .env del proyecto las siguientes variables para el uso en la db.
- PG_HOST
- PG_PORT
- PG_DBNAME
- PG_USER
- PG_PASSWORD
Si queremos que al ejecutarse por primera vez que se ejecuten ciertas consultas,deben guardarse en la siguiente carpeta : develop/databases/script/init/
y siguiendo el formato 01-nombredelaconsulta.sql
, se van a ejecutar en orden ascendente
Igualmente para mas precision, leer la siguiente documentación: Initialization Scripts
Playground http://localhost:4040
En la el directorio cubejs
podemos encontrar las siguientes cosas:
- Carpeta Schema: Donde se definen los schemas que usara Cube
- Archivo
cube.js
: Archivo de configuracion de nuestra instancia - Archivo
package.json
: Versiones de las dependecias de cube
La variable particular que tenemos de Cube es la siguiente:
- CUBE_SECRET
- CUBEJS_DEV_MODE
Esta variable es la que permite conectar luego la aplicacion de VUE con CUBE. La variable CUBEJS_DEV_MODE debe estar en false en produccion y true en desarollo
Particularmente hay un volumen donde se pueden agregar archivos de configuración , modificar el package.json asociado a cube. Esta carpeta es ´develop/docker-data/cubejs´
Para utilizar el playground de CUBE, se puede acceder desde un navegador a la siguiente url : ´localhost:4040´
En la el directorio develop/databases
podemos encontrar las siguientes cosas
config/pgadmin/dbserver:
Archivo de configuracion de la instancia de PGADMIN
Las variable particular que tenemos en PGADMIN es la siguiente:
- PG_ADMIN_DEFAULT_EMAIL
- PG_ADMIN_DEFAULT_PASSWORD
Son las credenciales para poder acceder desde el navegador desde ´localhost:9090´
Se genero un archivo de makefile para ayudar al uso de este entorno de desarollo
Carga de backup del esquema publico,creacion de esquema dashboard,carga de datos en en esquema y de tabla snvs
make recreate-db-develop
Dropear este esquema previamente generando un dump de la tabla snvs en el directorio /develop/databases/dump/
make drop-dashboard-schema
Borrar todos los cambios en la db en desarrollo
make drop-all-db
Comando para cargar un archivo en la DB en desarollo
make run-query-file FILE=path/del/archivo.sql
Comandos para la utilización de docker-compose
make start
make stop
make reset
make hard-reset #Este particularmente borra los volumenes e imagenes
make cube-restart
Existen tambien separadas algunos otros comandos mas especificos
make load-csv-snvs
make backup-snvs-table
make restore-snvs-table
make create-dashboard-schema
Comando para agregar a db tablas y vistas del schema tableros y vistas, carga de datos en estas tablas
make recreate-data-dashboard-prod
Comando para cargar un archivo en la DB en produccion
make run-file-in-db FILE=path/de/archivo.sql
El archivo debe ser de extension .sql para que se ejecute correctamente.
Comando para borrar toda la información agregada en producción y dejar la db en producción
make run-file-in-db FILE=./deploy/production/databases/scripts/03-remove-dashboard-prod.sql
Comandos para la utilización de docker-compose en producción
make build-prod
make start-prod
make stop-prod
make reset-prod
make down-prod
Crear el esquema tablero vacio sin datos
make create-dashboard-schema
Generar un dump de un schema en particular que exista en la db
make dump-schema SCHEMA="nombredelesquema"
Restaurar un schema con los datos
make restore-schema SCHEMA="nombredelesquema"
Dropear un schema que exista en la db
make drop-schema SCHEMA="nombredelesquema"
Aplicar un dump de la db entera
make restore-db-dump BACKUP_FILE="rutaalarchivo"
Tenemos los siguientes comandos para utilizar:
make start
make stop
make reset
make hard-reset #Este particularmente borra los volumenes e imagenes
make cube-restart