Skip to main content
Version: Next

Manual Técnico Harvester

Índice

  1. Introducción
  2. Requisitos Previos
  3. Preparación del Proyecto
  4. Estructura de Carpetas
  5. Configuración del Entorno
  6. Ejecución del Proyecto
  7. Pruebas del Sistema
  8. Despliegue
  9. Documentación
  10. Referencias
  11. Historial de Cambios

1. Introducción

Este manual técnico describe paso a paso cómo preparar, ejecutar, probar y mantener el sistema Harvester. Está diseñado para que cualquier desarrollador o auditor técnico pueda replicar la instalación desde cero, sin requerir conocimientos previos del proyecto.

1.1 ¿Qué es Harvester?

Harvester es una aplicación de escritorio para el análisis de datos recabados por tractores de CNH, donde sus empleados podrán crear reportes de manera más eficiente. Su arquitectura está compuesta por:

  • Una aplicación de escritorio desarrollada en HTML, CSS y JS, usando la librería de ElectronJS.
  • Un backend desacoplado basado en Node.js alojado en una instancia EC2.
  • Una base de datos MySQL.

2 Requisitos previos

2.1 Herramientas necesarias

Instala las siguientes herramientas para probar el backend en tu equipo local:

  1. Node.js: Ejecuta el backend del sistema Harvester. Descargar
  2. Git: Permite clonar el código fuente desde GitHub. Descargar
  3. MySQL Workbench: Interfaz visual para administrar la base de datos. Descargar
  4. Postman: Herramienta para probar las APIs del backend. Descargar
  5. Visual Studio Code Editor de código. Descargar

2.2.1 Crear base de datos Harvester

MySQL Workbench:

  1. Abrir Workbench
  2. Crear nueva conexión con el host, puerto, usuario y contraseña
  3. Crear base:
CREATE DATABASE harvester;
  1. Cargar y ejecutar el script HARVESTER.sql
  1. HARVESTER.sql

3. Preparación del Proyecto

Después de instalar las herramientas para trabajar, clonaremos los repositorios y prepararemos el entorno de desarrollo local.

3.1 Clonar los Repositorios:

3.1.1 Backend desacoplado:

cd ~
git clone https://github.com/CodeAnd-Co/Backend-Desacoplado-TracTech.git
cd Backend-Desacoplado-TracTech
npm install

3.1.2 App local:

cd ~
git clone https://github.com/CodeAnd-Co/App-Local-TracTech.git
cd App-Local-TracTech
cd harvester-app
npm install

4. Estructura de Carpetas

Una vez clonado el código fuente, es importante conocer su estructura para facilitar navegación, desarrollo y pruebas.

FrontEnd:

BackEnd: Backend


5. Configuración del Entorno

5.1 Crear archivo .env en el backend desacoplado

  1. Crear el archivo .env a nivel de ./Backend-Desacoplado-TracTech

5.1.1 Variables del Backend

PUERTO =
ANFITRION_BD=
USUARIO_BD=
CONTRASENA_BD=
NOMBRE_BD=
SECRETO_JWT=
DURACION_JWT=
SU=

5.2 Crear archivo constantes.js en la App local

  1. Crear el archivo constantes.js a nivel de ./App-Local-TracTech/harvester-app/src/framework/utils/scripts

5.2.1 Constantes de la app

// RUTA A SERVIDOR - ENTORNO MAIN
// const URL_BASE=

// RUTA A SERVIDOR - ENTORNO STAGING
// const URL_BASE=

// RUTA A SERVIDOR - ENTORNO LOCAL
// const URL_BASE =

const LONGITUD_MAXIMA_NOMBRE_FORMULA=
const LONGITUD_MAXIMA_FORMULA=

module.exports = {
URL_BASE,
LONGITUD_MAXIMA_NOMBRE_FORMULA,
LONGITUD_MAXIMA_FORMULA
}

6. Ejecución del Proyecto

6.1 Ejecutar Backend Local

cd Backend-Desacoplado-TracTech
npm start

Para inicializar el servidor en la instancia de EC2:

cd App-Local-TracTech
cd harvester-app
npm start

6.3 Backend en EC2

Consulta el Manual de Despliegue


6.1 App local

6.2 Iniciar aplicación

# Estando en la carpeta de harvester-app
npm start

6.3 Crear instalador de la aplicación

Existen varias formas de crear un instalador de una aplicación en Electron. Para la aplicación de harvester decidimos usar Electron-builder.

cd App-Local-TracTech
cd harvester-app
npm install --save-dev electron-builder

Dentro de nuestro package.json debemos incluir lo siguiente:

"build": {
"appId": "com.tractech.harvester",
"win": {
"target": [
"nsis"
],
"icon": "src/framework/utils/imagenes/HarvesterAppIcon.ico"
},
"nsis": {
"oneClick": true,
"installerIcon": "src/framework/utils/imagenes/HarvesterAppIcon.ico",
"uninstallerIcon": "src/framework/utils/imagenes/HarvesterAppIcon.ico",
"uninstallDisplayName": "Desinstalador Harvester App",
"license": "LICENSE",
"allowToChangeInstallationDirectory": false
}
},

Debemos asegurarnos que tengamos un icono en formato .ico para la aplicación, al igual que una licencia. Harvester está bajo la licencia de MIT.

7. Pruebas del Sistema

7.1 Pruebas Manuales


8. Despliegue

Ver Manual de Despliegue


9. Documentación

Swagger

IMPLEMENTACIÓN PENDIENTE
http://localhost:4000/api-docs

10. Referencias


11. Historial de Cambios

VersiónDescripciónFechaColaborador
1.0Implementación inicial del Manual Técnico19/05/2025Daniel Queijeiro
1.1Añadir información de la aplicación local21/05/2025Daniel Queijeiro
2.0Actualizar diagrama de paquetes22/05/2025Diego Fuentes, Daniel Queijeiro
2.1Mejorar el manual23/05/2025Daniel Queijeiro