Saltar al contenido principal

wiki-DevOps

Ver en Git


DevOps

Peterson - Análisis de riesgo

Project Overview

Esta extensión está diseñada para facilitar a los usuarios la solicitud de verificaciones de estándares como 2bsvs, EPA, RTRS y New EUDR. Los usuarios podrán realizar solicitudes para "mapas" que consisten en uno o más lotes dentro de un campo, asegurándose de que todos los lotes seleccionados se encuentren dentro de un radio de dos kilómetros (2 km).

Los usuarios tendrán acceso a un listado que mostrará todos sus pedidos de análisis junto con su estado correspondiente. Desde este listado, podrán descargar informes de verificación en formato PDF, que incluirán todos los atributos devueltos por Peterson sobre el mapa base de los lotes seleccionados.

Además, para los análisis que hayan finalizado, los usuarios podrán visualizar los resultados sobre el lote correspondiente en el mapa de Auravant. La extensión también incluirá una tarea en segundo plano que, diariamente a las 12:00, verificará el estado de los análisis de cada usuario y enviará notificaciones a través del centro de notificaciones de Auravant en caso de que alguno cambie de estado.

Finalmente, se medirán métricas como el consumo de hectáreas por usuario y por tipo de análisis realizado, proporcionando así un seguimiento eficaz del uso de la herramienta.

** Nuevo **

Habrá dos tipos de usuario: Pedido y Gestión.

El usuario pedido podrá solicitar la generación de informes: guardará la información a modo de 'borrador' (en storage) y deberá esperar la aprobación del usuario 'gestión'.

El usuario gestión (quien contará con créditos): aprobará los informes del usuario 'pedido' o realizará sus propios informes, consumiendo un crédito por cada informe.

Los informes se guardarán en storage a nivel campo, y ambos usuarios deben tener permisos de escritura sobre los mismos para poder generar los informes. En caso de no tener permisos, el usuario 'Gestión' podrá solicitarle al usuario 'Pedido' que le comparta el campo.

El usuario pedido, al solicitar un informe, deberá cargar una serie de archivos que se solicitan según el tipo de informe.

Features

  • El usuario debe poder solicitar nuevos análisis seleccionando un tipo de análisis y un campo, todos los lotes deben estar dentro de un radio de 2km.

  • El usuario podrá ver todos los análisis enviados a peterson con el estado en el que estan (pending, analysing, completed).

  • Para los análisis que se encuentren en estado "completed", el usuario debe poder descargar un informe de los resultados en PDF.

  • El usuario debe ser informado a través del Notification Center de Auravant cuando un análisis fue terminado. (Tarea en background)

Flow diagram

image

Tech Stack

  • Vite - 5.3.4
  • TypeScript - 5.2.2
  • React - 18.3.1
  • TailwindCSS - 3.4.7
  • React i18next - 13.5.0
  • Prettier - 0.6.5
  • Componenets basados en shadcn

Installation

# Clone the repository
git clone https://git.auravant.com/it/extensiones/producto/peterson

# Change into the project directory
cd peterson

# Install dependencies
npm install

Documentation and debugging

La extension funciona a través de un servicio prestado por Peterson. Los endpoints utilizados para la extension se encuentran documentados en los siguientes sitios:

Como se puede ver en la documentación provista, el primer endpoint requiere un usuario y una key para devolvernos un token, el mismo sera utilizado en todos los endpoints del siguiente link. En el segundo link tendremos los modelos de pegada a cada endpoint de Peterson donde sera necesario el token ya mencionado. Estos endpoints se utilizaran para:

  • Crear y enviar un analisis para verificar a Peterson (POST)
  • Obtener el lsitado de analisis de Peterson (GET)
  • Obtener los detalles de un analisis en particular a partir del UUID (GET)

En el proyecto se ha configurado el logueo de errores utilizando Sentry. De este modo si un usuario reporta un error lo primero que puede hacer el desarrollador es ingresar en el siguiente link de Sentry y revisar el detalle de lo ocurrido, ya que aquí se deja un registro del body enviado y de la respuesta obtenida

El proyecto se comunica con el Backend de Peterson donde se reciben todos los datos cargados de la plataforma, se almacenan en Storage, se realizan las pegadas a las Apis externas de Peterson y se sincronizan los datos.

Usage

Cosas a tener en cuenta:

  • Verificaciones de estándares: La extensión permitirá solicitar verificaciones para los estándares 2bsvs, EPA, RTRS y New EUDR.

  • Solicitudes para "mapas": Las solicitudes deben realizarse para "mapas" compuestos por uno o más lotes dentro de un campo. Es crucial que todos los lotes seleccionados estén dentro de un radio de dos kilómetros (2 km).

  • Visualización de pedidos: Los usuarios podrán ver un listado de todos sus pedidos de análisis, incluyendo su estado actual (pending, analysing, completed).

  • Informes en PDF: Los usuarios podrán descargar informes de verificación en formato PDF para aquellos análisis que hayan sido completados. Estos informes incluirán todos los atributos devueltos por Peterson sobre el mapa base.

  • Visualización de resultados: Para los análisis finalizados, se ofrecerá la opción de visualizar los resultados en el mapa de Auravant.

  • Notificaciones: Se implementará una tarea en segundo plano que consultará diariamente el estado de los análisis a las 12:00, notificando a los usuarios a través del Notification Center de Auravant si el estado de alguno de sus análisis ha cambiado.

  • Irreversibilidad de solicitudes: Al enviar una solicitud de análisis, se informará al usuario que esta acción no podrá ser cancelada.

  • Métricas a medir: Se deberá llevar un registro del consumo de hectáreas por usuario y por tipo de análisis realizado.

  • Diseño y flujo de trabajo: Asegúrate de revisar el mockup en Figma para entender el diseño propuesto y el flujo de usuario durante el proceso de solicitud y visualización de análisis.

Contributing

  1. Clone the repository.
  2. Create a new branch: git checkout -b feature-name.
  3. Make your changes and commit them: git commit -m 'Add new feature'.
  4. Push to the branch: git push origin feature-name.
  5. Submit a merge request to develop branch for testing.

Estos comandos estan hechos para facilitar el proceso del desarrollo en las extension:

  • npm run build:zip: Este comando ejecuta el comando build y zippea los archivos que están dentro de la carpeta dist con todos los archivos necesarios para el deploy. Este archivo dist.zip es el que vas a necesitar para agregar tu extensión a la plataforma.

  • npm run format: Este comando utiliza Prettier para formattear todo el código del proyecto. Al ejecutarlo revisa todos los archivos y aplica el formato especificado en la config. Esto ayuda a mantener el código limpio para todos.