Toti es articles

Bastint NaturPark: gerir espacis naturals damb software modulari

Publicat May 10, 20214 min de lectura
  • Producte
  • Engenharia
  • Montanha
Bastint NaturPark: gerir espacis naturals damb software modulari

Idèes clau

  • Ua zòna umida costièra e ua reserva d'auta montanha non an besonh deth madeish software, per açò NaturPark s'a bastit coma moduls independents e activables per espaci.
  • Eth produit a tres cares: un dashboard web entàs gestors, ua aplicacion mobila entath personau de camp e un panèu d'administracion entà configurar quini moduls emplegue cada espaci.
  • Era modularitat a balhat flexibilitat, mès tanben ua complexitat reau en permisi, modelatge de dades e provas.

NaturPark ei un des produits que bastim a Maladeta Studio, ath costat de Lueira e MeteoTrail, e se situe ena interseccion de dues zònes que mos interèssen: era mobilitat en espacis naturaus e era gestion de rebuts. Eth lèma qu'avem causit ac ditz shens virades: gestione es espacis naturaus d'ua manèra innovadora e segura. Mès çò interessant de bastir NaturPark non estèc eth lèma, senon adonar-mos lèu que "un espaci naturau" non ei ua soleta causa, e un "software" que fenge eth contrari se trinque tanlèu qu'arribe eth dusau client.

1. Un espaci, un reglament — dinc que non ac ei mès

Era prumèra version dera idea en mon cap èra simpla: bastir ua plataforma entà gerir espacis naturaus, lançar-la, iterar. Sonque calec ua convèrsa reau damb un gestor de parc entà veir eth problèma. Ua zòna umida costièra a de besonh de fenèstres d'accès segontes era marea, restriccions en epòca de nidificacion e trafic de barques. Ua reserva alpina a de besonh der estat des camins, deth risc d'aludes e de tancaments estacionaus que non an arren a veir damb marees ne nids. Es dus an besonh de gerir visitants. Cap des dus non a besonh des règles der aute.

Ei ua trapèla comuna en "software" vertical: bastisses entath prumèr client, generalizes un shinhau entath dusau, e ath tresau ès mantenent ua montanha de condicionaus e feature flags amagadi que dejà arrés compren deth tot. Non volíem arribar-i per accident, atau qu'assagèrem de decidir a prepaus, des deth començament, dinc a on se flexionaré era plataforma — e a on traçar ua linha dura e díder "açò ei eth nucli, ac an toti".

2. Dissenhar entara modularitat

Non tots es espacis son parières e cadun a es sues pròpies besonhes — aquerò ei tota era premissa, e per açò dissenhèrem era plataforma d'ua manèra modulara e escalabla en lòc d'un paquet fixe de foncions. Ena practica, açò volec díder separar un nucli petit (perfil der espaci, comptes de personau, dades basiques de visitants) d'un conjunt de moduls independents que se pòden activar o desactivar per espaci: causes coma eth recompde de visitants, eth reportatge d'incidents, er estat des camins o es rotes de recuelhuda de rebuts, segontes çò qu'aqueth espaci de vertat gestione.

Es moduls de dessús son illustratius, non ua lista exaustiva de çò que s'arribèc a implementar — son eth tipe de causa qu'era arquitectura èra pensada entà suportar, dat eth trabalh en mobilitat e gestion de rebuts que hèm. Çò que importava mès que cap modul concret èra eth mecanisme: era configuracion d'un espaci decidís çò qu'eth sòn dashboard mòstre, çò que era aplicacion mobila demane de registrar ath personau de camp, e quin modèl de dades se provisione dejós.

{
  "space_id": "aiguestortes-01",
  "name": "Aigüestortes",
  "modules": {
    "visitor_counting": true,
    "incident_reporting": true,
    "trail_status": true,
    "waste_collection_routes": false,
    "boat_traffic_control": false
  }
}

Eth panèu d'administracion ei a on aguesta configuracion s'edite de vertat — qui balhe d'alta un espaci nau causís es moduls que li cau, e tota era rèsta, deth dashboard deth gestor dinc ara lista de tasques que ve un garda en sòn mobil, s'adapte ad aquera causida en lòc de mostrar menús mòrts que arrés a demanat.

3. Es tres cares deth produit

NaturPark non ei ua interfaç, ne son tres, cadua pensada entà un tipe d'usatgèr e un contèxte d'usatge diferent. Eth dashboard web ei a on er equip de gestion d'un espaci a ua vision generau. Eth panèu d'administracion ei a on se configuren moduls e ajustaments entà un espaci concret, normaument per qui lo balhe d'alta o per nosati mentre era mesa en marcha. E dempús i a era aplicacion de camp.

Era aplicacion de camp ei era que a de foncionar shens cap des comoditats d'un trabalh de burèu: cobertura intermitenta, gants, reflèxes deth solei ena pantalha, quauquarrés que vò registrar un incident e tornar a caminar peth camin, non emplenar un formulari. Dissenhar-la volec díder butar constantament era complexitat entath dashboard e eth panèu d'administracion, e mantier era cara de camp lo mès près possible de "tocar dues causes e seguir" que es moduls activats entad aqueth espaci permetessen.

4. Çò que fariam diferent

Era modularitat se vend facilament en ua presentacion e se viu mès dificilament en eth còdi. Activar un modul per espaci semble un checkbox, mès tòque permisi, modelatge de dades e provas. Mos apoièrem en qu'es moduls son independents mès de çò que m'agradarie d'admeter ena prumèra version, e en generau tenguec — mès aguest "en generau" hè fòrça trabalh ena frasa.

Se comencèssa NaturPark uei, voleria definir es limits des moduls damb eth madeish rigor qu'aportèrem ar lèma, dès eth prumèr dia, en lòc de descurbir es limits reaus convèrsa de client darrèr convèrsa de client. NaturPark encara foncione sus aguesta madeisha idea: espacis diferents, besonhes diferentes, ua soleta plataforma dejós. De çò que non sò tan segur, ans mès tard, ei se "un modul per foncion" èra era granularitat corrècta, o se era unitat reau de variacion èra quauquarren mès gròs que devissérem en moduls sustot pr'amor qu'èra mès facil de bastir-les un a un.