mkdir -p /opt/starter-kit/dev
Clonar el repositorio joko_backend_starter_kit Acceder y copiar el archivo "application.properties.example" y "development.vars":
cd joko_backend_starter_kit/
cp application.properties.example /opt/starter-kit/dev/
cp development.vars /opt/starter-kit/
Fuente: https://github.com/jokoframework/joko_backend_starter_kit
Se debe configurar el archivo "development.vars", que servirá para la ejecucion de liquibase. Este es un archivo bash que debe tener dos variables:
- MVN_SETTINGS: Archivo de configuración de perfil Maven. En caso de utilizar el Artifactory interno, sería el recién descargado. Ej: $HOME/.m2/settings.xml puede utilizar de ejemplo el archivo que se encuentra en src/main/resources/settings.xml.example copiando a $HOME/.m2/settings.xml
- PROFILE_DIR: Directorio de perfil creado en el punto inicial. Ej. /opt/starter-kit
Un ejemplo de este archivo se encuentra en src/main/resources/development.vars. Se recomienda que este archivo esté fuera del workspsace en el directorio padre de los PROFILE_DIR. Ejemplo: /opt/starter-kit/.
cd /opt/starter-kit/dev
mv application.properties.example application.properties
cd /opt/starter-kit/
-Editar el archivo: nano development.vars -Exportar variable, desde la terminal:
$ export ENV_VARS="/opt/starter-kit/development.vars"Obs.: El truco es tener varios archivos profile.vars y cada uno apuntando a
un PROFILE_DIR diferente.
1.- Crea la schema de cero.
$ ./scripts/updater fresh2.- Inicializa datos básicos (o reinicializa)
$ ./scripts/updater seed src/main/resources/db/sql/seed-data.sql
$ ./scripts/updater seed src/main/resources/db/sql/seed-config.sqlOJO:
-
El parámetro
freshelimina la base de datos que está configurada en elapplication.propertiesy la vuelve a crear desde cero con la última versión del schema -
Los parámetros
seed <file>cargan datos indicados en el archivo<file>, para los casos en que se ejecutefreshsiempre debe ir seguido de unseedcon el archivo que (re)inicializa los datos básicos del sistema -
Los datos básicos del sistema estan en dos archivos:
seed-data.sql: Todos la configuracion base que es independiente al ambiente
[ambiente]-config. Por ejemplo: dev-config.sql . Posee los parametros de configuracion adecuados para el ambiente de desarrollo. Tambien existe qa-config y prod-config
3.- Para correr el liquibase en modo de actualización ejecute:
$ ./scripts/updater update
Si ya se tienen instaladas las librerías Joko necesarias (joko-utils y security) entonces se puede proceder a empaquetar el proyecto (Ej: mvn package) y luego: La forma más simple de levantar el proyecto es con la utilización de Docker, ejecutando el siguiente comando dentro del proyecto:
$ docker-compose upUna vez hechos estos cambios, solo debemos correr el proyecto como una aplicación de Spring Boot, o con la línea de comando (se requiere maven instalado).
$ mvn spring-boot:runEl usuario/password default que se crea con la base de datos, es admin/123456
1.- Modificar el archivo "network_security_config" en res/xml. Agregar una configuración de dominio y establecer cleartextTrafficPermitted="true":
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="false"/>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">yourip</domain>
</domain-config>
</network-security-config>Obs: En "yourip" debes agregar la ip de tu máquina.
2.- Habilitar APIs de Google o servicios de Firebase
Para habilitar las APIs de Google o servicios de Firebase es necesario agregar el archivo google-services.json en el directorio de /app. Este proceso es obligatorio para cada vez que se importe el proyecto. Puedes seguir las indicaciones de: https://support.google.com/firebase/answer/7015592?hl=en#zippy=%2Cin-this-article
Fuente: https://developers.google.com/android/guides/google-services-plugin