Salta el contingut

Pràctica 3: Workflows amb Nodes

Objectiu

Demostrar la capacitat de construir workflows complexos usant trigger nodes, nodes de lògica, Code node i HTTP Request de manera integrada.

Enunciat

Has de crear un workflow anomenat Pràctica 3 - Monitor de qualitat [el teu nom] que:

  1. S'executi cada dia a les 8:00 (Schedule Trigger)
  2. Consulti una API pública per obtenir dades
  3. Processi i classifiqui les dades amb lògica condicional
  4. Generi un informe de resum

Tasca A: Monitor meteorològic diari

Específicacions

El workflow ha de:

  1. Disparar-se cada dia a les 8:00 (zona horària Europe/Madrid)
  2. Consultar l'API d'Open-Meteo per a Blanes:
  3. URL: https://api.open-meteo.com/v1/forecast
  4. Params: latitude=41.6764, longitude=2.7898, daily=temperature_2m_max,temperature_2m_min,precipitation_sum,weathercode, timezone=Europe/Madrid, forecast_days=1
  5. Classificar la meteorologia:
  6. Molt fred: max < 10°C
  7. Fred: max entre 10 i 18°C
  8. Agradable: max entre 18 i 28°C
  9. Calor: max > 28°C
  10. Generar un missatge en català que inclogui:
  11. Data d'avui
  12. Temperatura màxima i mínima
  13. Classificació
  14. Precipitació prevista
  15. Recomanacio (abric, paraigua, crema solar...)

Estructura esperada del workflow

flowchart LR
    A([Schedule\nTrigger 8:00]) --> B[HTTP Request\nOpen-Meteo API]
    B --> C[Code\nExtreure dades del dia]
    C --> D{Switch\nClassificacio temperatura}
    D -->|Molt fred| E1[Set\nMissatge molt fred]
    D -->|Fred| E2[Set\nMissatge fred]
    D -->|Agradable| E3[Set\nMissatge agradable]
    D -->|Calor| E4[Set\nMissatge calor]
    E1 --> F[Merge\nAppend]
    E2 --> F
    E3 --> F
    E4 --> F
    F --> G[Code\nCompondre informe final]

Tasca B: Processament d'una llista amb lògica

Crea un segon workflow Pràctica 3B - anàlisi de vendes [el teu nom] que:

  1. Tingui un Manual Trigger
  2. Un node Code que generi una llista de 15 vendes fictícies:
  3. Cada venda te: producte, import, mètode_pagament (efectiu/targeta/transferencia), regio (nord/sud/est/oest)
  4. Un node IF que separi vendes d'alt valor (> 500€) de les de baix valor
  5. Per a les d'alt valor: un node Set que afegeixi el camp prioritat: alta
  6. Per a les de baix valor: un node Set que afegeixi el camp prioritat: normal
  7. Un node Merge Append que reuneixi totes les vendes
  8. Un node Code final que calculi:
  9. Total de vendes per regio
  10. Import total per mètode de pagament
  11. Percentatge de vendes d'alta prioritat
  12. Import total de totes les vendes

Lliurament

Lliura al campus virtual:

  • Captura del workflow A complet (tots els nodes visibles)
  • Captura de l'output del workflow A executat en mode test
  • Captura del workflow B complet
  • Captura de l'output del node final del workflow B amb les estadistiques
  • Fitxers JSON exportats dels dos workflows
  • Document explicatiu (max 1 pagina A4) que descrigui:
  • Per què has triat cada node
  • Quin problema va sorgir i com ho has resolt
  • Quines millores afegirias

Rúbrica d'avaluació PRN8N03

Criteri Insuficient (0-4) Suficient (5-6) Notable (7-8) Excel·lent (9-10)
Workflow A: Schedule i API No funciona Funciona amb errors Funciona correctament Funciona amb gestió d'errors i dades extres
Workflow A: Classificació Absent o incorrecta 2-3 branques correctes Totes les branques correctes Classificació completa amb missatge personalitzat
Workflow B: generació de dades Dades absents o incorrectes 10+ vendes generades 15 vendes amb tots els camps 15 vendes realistes i ben estructurades
Workflow B: Lògica IF + Merge Absent IF sense Merge IF i Merge bàsics IF, Merge i estadistiques completes
Càlculs finals Absents 1-2 càlculs 3-4 càlculs correctes Tots els càlculs correctes i ben presentats
documentació Absent Molt breu Adequada Detallada amb reflexió crítica

Advertència

El workflow A ha d'usar realment l'API d'Open-Meteo (amb una petició HTTP real). No generis les dades amb un Code node substituint l'API.