Arquitectura openfoodnetwork/katuma i model de contribució a ofn


#1

Hola!

Ahir vaig fer la meva primera comanda amb katuma!
Em va sorprendre veure que està construida sobre spree. Pel que vaig entendre spree fa com de core, amb una part de la UI revamped per a la creació de comandes, però mantenint spree com a backoffice administratiu. Existeix cap tipus de diagrama d’arquitectura, diagrama de domini o el que sigui, per entendre millor com està construit tot plegat?

Tot això ho comento donant per suposat que en realitat katuma representa un deploy d’ofn i per tant ofn és l’eina a valorar.

D’altra banda, m’agradaria conèixer una mica el procés d’interacció entre katuma i ofn (i en darrera instància spree), des del punt de vista del desenvolupament. En concret, quina és la capacitat de contribució de katuma cap a ofn. Veig que existeix un fork d’ofn a l’organització coopdevs. Si poguéssiu apuntar algun exemple de contribució relevant en sentit katuma->ofn (pull request, issue obert a ofn, etc), segurament seria molt útil per entendre els fluxes.

Moltes gràcies!


#2

Hola @edu!

doncs em temo que no tenim això que dius documentat, no se si a tu @enricostn et sona. És més o menys el que tu comentes. OFN és una (gran) customització d’Spree amb un frontend extra en Angular que implementa la part pública per on els usuaris fan les comandes. Espero aviat poder compartir un diagrama d’arquitectura perquè ahir un altre contribuidor d’OFN també ens ho va demanar.

Sí, Katuma, a nivell tècnic, és una instància d’OFN. Treballem directament sobre els repositoris d’OFN com la resta d’instàncies estatals (Austràlia, França, UK, etc.). Així doncs, adoptem l’estil de Github on OFN és l’upstream i els repositoris que veus a Coopdevs són forks d’aquests. Quan ens disposem a resoldre algun issue d’OFN partim des del nostre fork i obrim una pull request contra OFN. D’aquí algú s’encarrega de testejar i seguidament es fa merge a master.

A la trobada que vam fer al desembre a Austràlia, es va acordar que OFN tingui un sol equip de desenvolupament on no només hi ha desenvolupadors sinó també gent de producte. Com a Katuma, formem part d’aquest equip (amb molt d’orgull :slight_smile:) i hi treballem dia a dia, amb l’afegit que ens tenen en molta consideració sobretot en l’aspecte tècnic.

Si t’interessa veure exemples concrets, fes un cop d’ull als issues i pull requests i veuràs la cara de l’ @enricostn i meva. Ens reconeixeràs pels nostres noms d’usuari, @enricostano i @sauloeprez respectivament.

Bé, espero que aquesta alla d’informació et serveixi. No dubtis a contribuir :pray: , que no deixem a ningú sol i ens encanta ajudar a tothom qui apareix! És el que ens omple del software lliure :heart:


#3

Per cert, tenim un compte de Slack on ens trobaràs a diari. Si t’interessa t’hi podem convidar.


#4

Moltes gràcies @saulopefa
Aquesta era la info que necessitava per entendre l’arquitectura. De fet, els consells per seguir la pista de les contribucions de katuma a ofn m’han portat a PRs força esclaridors :wink:
Respecte a contribuir-hi, no ho descarto, però donat que la meva disponibilitat és en aquests moments escasa, deixaria més aviat que succeeixi com a part del procés de participació de la cooperativa en la qual estic. Si em convideu al slack intentaré estar al cas i impregnar-me del projecte.


#5

Fantastic @edu! pensa que tenim issues de tota mida, inclosos els etiquetats amb “good first issue” que haurien de portar poca estona.