Skip to content

josx/ia2-desktop-app

Repository files navigation

IA² | Frontend desktop app

IA²


Aplicación frontend de escritorio del proyecto IA², una herramienta Open Source para la anonimización de documentos.


License Contributor Covenant

Stack Tecnológico

Este proyecto fue inicializado con Electron React Boilerplate.

Ambiente de desarrollo

A continuación se detallan las instrucciones a seguir para configurar el ambiente de desarrollo.

Requisitos previos

  • node, versión v12.18.2 o superior
  • npm, versión 6.14.5 o superior
  • yarn, versión 1.22.5 o superior

Node y Npm se pueden instalar y administrar con nvm (Node version manager, recomendado)

Luego de instalar nvm, descargar una versión de node para utilizar:

nvm install v12.18.2

Verificar las versiones instaladas

node --version
npm --version

Instalar yarn y verificar versión

Yarn es utilizado por la mayoría de subprocesos de electron

npm install --global yarn
yarn --version

Variables de ambiente

Realizar una copia del archivo .env.example y renombrarlo a .env. Luego, será necesario configurar las variables de ambiente.

cp .env.example .env

Servidor

  • BASE_URL: Url del servidor de ia².
  • API_URL: Namespace de la api para la url. Generalmente /api.

Ejemplo para un servidor local:

BASE_URL=localhost:8000
API_URL=/api

Sentry

Utilizamos Sentry para el reporte de errores.

  • SENTRY_DSN: url del servicio de Sentry.
  • SENTRY_RELEASE: setea el ambiente de Sentry (staging, demo, prod, qa, etc...)

Habilitar funcionalidad de selección múltiple de entidades

Con el propósito de agilizar el proceso de etiquetado de entidades que se encuentran repetidas en el documento, es posible habilitar la funcionalidad de selección automática. Se trata de un componente que se renderiza en el paso de Edición del documento. Por defecto se encuentra deshabilitada.

  • MULTIPLE_SELECTION_ENABLE: true

Instalación

npm install

No se encuentra la librería libvips

En algunos sistemas operativos la librería libvips no se encuentra disponible por defecto, el siguiente error aparece durante la instalación.

../src/common.cc:25:10: fatal error: vips/vips8: No such file or directory
   25 | #include <vips/vips8>

Solución: instalar libvips via apt install libvips-dev.

Iniciar el servidor de desarrollo

Se puede utilizar cualquier de los siguientes comandos:

Utilizando npm

npm run dev

Utilizando yarn

yarn dev

Tests

Los tests de integración utilizan una instancia activa del servidor de IA². Del mismo modo, las variables de ambiente para tests deben estar disponibles en la terminal donde se correrán los tests.

Una vez configuradas las variables, exponer los valores de ambiente utilizando:

export $(cat .env | xargs)

Luego es posible ejecutar las pruebas utilizando:

yarn run test-e2e

Con hot reload

yarn run test-e2e-live

Generación de builds y paquetes

Para conocer detalles de configuración para realizar el build de la aplicación, se puede visitar la documentación oficial de electron-builder.

yarn build

Build para producción:

OPEN_ANALYZER=true yarn build

Build para producción con debug habilitado:

yarn cross-env DEBUG_PROD=true yarn package

Generar package local:

El package creado será almacenado en el directorio /release.

Package para plataforma local

yarn package

Package para múltiples platformas

Para generar un package desde un tipo de plataforma para otra distinta, debemos instalar las dependencias necesarias. Ver la documentación oficial para más información.

Package para Linux:

yarn package --linux

Package para Windows:

yarn package --windows

Opciones:

  • Es posible indicar la arquitectura para generar el build añadiendo alguna de las siguientes flags.
  • --ia32
  • --x64

Licencia

GNU General Public License version 3

Contribuciones

Por favor, asegúrese de leer los lineamientos de contribución antes de realizar Pull Requests.