Dag 2 van de jaarlijkse MetaFactory Hackathon traditie. Lees het verslag van Dag 1 (15 juli) en Dag 2 (16 juli) voor een exclusieve blik achter de schermen van de softwareontwikkeling bij MetaFactory.
Hackathon archief
2024 Dag 1 & Dag 2
2023 Dag 1 & Dag 2
2022 Dag 1 & Dag 2
Klik op de foto’s om te vergroten. Kijk op de Over Ons pagina en leer de developers kennen.

Liveblog
Statusupdate 9:30 – 10:30 uur

> Ralph loopt vast met zijn GraalVM project: Marnix biedt hulp
> Bart was vorige week jarig: vette koeken bij de koffie!
Hoe doen de teams het?
Alle teams draaien soepel en zijn klaar om ’s middags om 17u hun presentatie plus demo te geven. Ralph (Team 2) loopt vast. Het lukt GraalVM niet om de prettier formatter toe te passen. Marnix kijkt mee.
Marnix (Team 3) kwam gisteren niet toe aan zijn werkzaamheden. Hij richtte zich op zijn collega’s en laat de hosting en authenticatie via OAuth2 even voor wat het is.
Farhad (Team 4) bouwt een website met Next.js met WebGL en heeft zijn presentatie al klaar.
Sandra, Marijn en Edward (Team 5) zijn al een heel eind met hun CI/CD project. Een package van de Hours Admin werkt, evenals de deploy naar de trans IP server. Op naar de volgende workflow.
Tenslotte Bart (Team 6). Het is gelukt om via Docker een JHipster applicatie op te leveren en met een KeyCloak provider in te loggen. IJs en weder dienende is einde dag KeyCloak op de server geïnstalleerd.
Vandaag doet Bruno ook mee en helpt Bart met het testen van de Hours Admin via KeyCloak.
Verder vandaag: hard werken, lunch, bingo en om 17u zes presentaties.

Update Team 1
Kim en Marco hebben geen update.
Update Team 2
Ralph: “Ik had dit niet verwacht. Prettier wil een bepaalde methode niet vinden en ik kom er niet achter hoe dat nu komt. Marnix sluit straks aan om dit met mij uit te zoeken. Ondertussen debug ik me een slag in de rondte. In de code zelf zoeken, heeft geen zin. Ik krijg een CharAT en dat kan van alles zijn. Via Google en ChatGPT kom ik ook niet verder. Over mijn demo ga ik dan ook geen voorspelling doen…”

Update Team 3
Marnix heeft geen update.
Update Team 4
Farhad: “Ik duik in de techniek van WebGL en Next.js en verken de mogelijkheden om dat bijvoorbeeld toe te passen voor de website van MetaFactory. In WordPress hebben de pagina’s van de verschillende menu’s vaak een beperkte keuze in functionaliteit. Best vreemd, want soms wil je iets lezen, soms iets zien, soms een combinatie van beiden. Scrollen en browsen op een platte website gaat weer anders dan navigeren op een pagina waar WebGL gebuikt is (check samples hier en hier).
De verschillende technieken naast elkaar gebruiken levert een aantrekkelijke website op: deels standaard template en deels custom, bijvoorbeeld met WebGL.”

Update Team 5
Sandra: “We lopen nu een beetje vast maar we kwamen al een heel eind. Ons team werkt met de eigen Hours Admin applicatie. Wanneer nieuwe code naar de Main-branch wordt gepusht, wordt deze automatisch naar een testserver gedeployed. We streven ernaar om de code op te delen in herbruikbare kleinere onderdelen, zodat deze voor verschillende projecten inzetbaar is. Ons doel is zodra wijzigingen worden gemerged naar de Main-branch, deze direct op de testserver worden geplaatst.
Edward heeft gezorgd dat een applicatie na opstart end-to-end getest kan worden met Cypress. Eerst werkte de trigger bij handmatig testen niet en bij geautomatiseerd wel. Bepaalde folderstructuren werden niet gevonden. Hoe dan ook, het werkt nu wel. Marijn en ik werken nu aan de vervolgstap. In een gewenste situatie hebben we eerst een acceptatie omgeving en daarna de productie omgeving. Dit is een handmatige deployment en dat lukt niet helemaal zoals wij willen want idealiter wil je geen testing op je productie server.
Er zijn nu twee workflows aangemaakt: een geautomatiseerde Github workflow en een handmatige om op de testserver te kunnen deployen. Je kunt daarbij meegeven welke versie van de applicatie je daar wilt neerzeten. Je kan afwijken van de meest recente versie die is gedeployed op test. Wat niet lekker liep, is dat we vrij lang bezig waren om die manuele workflow werkend te krijgen.”

Update Team 6
Bart: “Alles dat ik in Dag 1 vertelde over dit project is vandaag gelukt. KeyCloak (via Docker) heeft een Github connectie. Bruno (ook via Docker) heeft het lokaal draaiend met een Google inlog. Het principe is dat de partij die toegang geeft, of gastheer is voor een applicatie, een account heeft en via een Facebook, Google, Github, LinkedIn of wat dan ook de authenticatie verzorgt. Er is namelijk een terugkoppeling nodig en er moet een configuratie zijn. Dus wie krijgt toegang, waarvoor, wanneer, hoe etc…
Ik regel het voor deze test via mijn eigen Github-account en met een JHipster-applicatie. Onze eigen Hours Admin gebruikt nu een gebruikersnaam en wachtwoord in de database. We willen dit nu ook via KeyCloak laten lopen. Marnix had een goede tip: genereer een vanilla JHipster-applicatie, dus zonder maatwerk of plug-ins, met dezelfde instellingen als in de KeyCloak-versie, en als enige verandering ook een gebruikersnaam en wachtwoord in de database. Bekijk de verschillen en pas deze toe op onze eigen versie van de Hours Admin via KeyCloak. Dat klinkt slim, en ik ga daar nu mee aan de slag. JHipster heeft hier natuurlijk heel goed over nagedacht.”

Bingo!

Eindpresentaties
Om 17:00 uur starten de presentaties van de teams. Hieronder een kort overzicht van de resultaten in woord en beeld.
Team 1 – Kim en Marco
Uitbreiding CodeComposer IntelliJ plug-in.

> De feature is zo goed als af en zal in de volgende release van de CodeComposer worden meegenomen!
Team 2 – Ralph (en Marnix)
Vervanging J2V8 met GraalVM.

> Het lukte Ralph uiteindelijk om prettier via GraalVM te genereren. Ralph vond in de testsuite van GraalVM de juiste code. Ook deze techniek is beschikbaar voor toepassing.
Team 3 – Marnix
Client/Serverversie MetaFactory CodeComposer, hosting en authenticatie via OAuth2.

> Marnix hielp zijn collega’s en kwam niet aan zijn project toe.
Team 4 – Farhad
Onderzoek Next.js, OCDS en Web GL.

> Farhad legt in zijn presentatie uit hoe hij binnen een cms de verschillende technieken kan combineren. Wellicht een idee voor de volgende iteratie van de MetaFactory website?
Team 5 – Sandra, Marijn en Edward
CI/CD en Github deployment workflows.

> Sandra gaf een schitterende en duidelijke presentatie hoe de workflows via Githb werken. Met een een Advanced Enterprise plan zijn er ongetwijfeld meer mogelijkheden. De ontwikkelingen stoppen niet met dit onderzoek!
Team 6 – Bart
Authenticatie via Keycloak.

> Bart kwam een heel eind maar de presentatie kwam niet van het scherm. Ook dit project heeft nog wat onderzoek nodig.

> Check de website van MetaFactory voor meer informatie over de developers, hun projecten en werken met de MetaFactory Code Composer.


