Et team dyktige utviklere og foosballentusiaster ønsket å ta det hele til neste nivå. Resultatet er en utrolig progressiv webapplikasjon som lar foosballspillere fra hele verden skape egne ligaer, invitere andre spillere og regjere statistikken.
Office League er et prosjekt drevet av entusiaster for åpen kildekode. Det er også tilgjengelig som en gratis tjeneste driftet i Enonic Cloud på officeleague.rocks – åpent for alle som vil bli med på moroa. Appen brukes daglig av organisasjoner som Redhat, Salesforce, og til og med Enonic selv. De mest aktive ligaene har over 1000 spilte kamper i skrivende stund.
Utfordring
Med begrensede ressurser, lite tid og komplekse krav hadde teamet lite rom for feil og måtte bruke verktøy som ville få dem raskt og effektivt til målet.
Teamet hadde tidligere bygget en prototype, men det faktum at "Office League" ville være offentlig og åpen for alle, la til ytterligere kompleksitet. Her er noen av kravene til appen:
Sosial innlogging (Google + Facebook)
Støtte for å opprette og administrere ligaer
System for å invitere nye spillere til din liga
Live kampfeed – se andre kamper som er i gang
Poenganslag (basert på spillerstatistikk)
Full responsivitet
Støtte for offline-spill (spilling i kjellere og områder med dårlig nettverk)
Evnen til å skalere løsningen etter hvert som trafikken vokser
Støtte for redaksjonelt innhold
Løsning
Et kjerneelement i løsningen er opptak av spillene mens de spilles, så det må fungere godt på mobile enheter. Teamet hadde imidlertid lite erfaring med mobilapper sammenlignet med webteknologier. Men teamet hadde nylig oppdaget progressive webapplikasjoner (PWA). Nye webstandarder og nettleserkapasiteter gjør det mulig for utviklere å lage webbaserte applikasjoner som fungerer og føles som vanlige apper.
Progressive webapper består av en front-end og back-end. Etter å ha undersøkt tilgjengelige rammeverk, konkluderte teamet med å bruke Angular 2 for front-end – et populært Javascript-rammeverk laget av Google. For å kommunisere med serveren, ønsket teamet å utforske en ny teknologi kalt GraphQL, som skulle gi front-end-utvikleren større fleksibilitet i henting av data fra serveren. Til slutt var Enonic det perfekte valget for prosjektet:
Moderne plattform basert på åpen kildekode
Kommer med ferdige apper for sosial innlogging
Innebygd datalagring med kraftig søk
Kjører serverside-JavaScript (språket til PWA-er)
Innebygd headless CMS for redaksjonelt innhold
Passer utviklernes kompetanse
Innen få uker var det meste av back-end og API-er på plass, og ikke overraskende ble mesteparten av den gjenværende tiden brukt på å bygge, justere og style applikasjonens front-end.
Resultat
Bare dager etter lanseringen var Office League i daglig bruk internasjonalt. I skrivende stund er hundrevis av lag og ligaer blitt opprettet. Nye utviklere har sluttet seg til det åpne kildekodeprosjektet, og teamet var allerede i gang med å planlegge ny funksjonalitet og utvidelse til andre idretter.
– Det eneste problemet vi virkelig måtte bekymre oss for, var å sørge for at appen ville fungere fint på iOS, sier Glenn Ricaud, Office League-utvikler. Dette er kanskje overraskende, men iOS og Safari hang lenge etter sine rivaler hos Google. Men ettersom Apple nå har begynt å legge til PWA-støtte i Safari, betyr dette at iOS-brukere snart også vil kunne nyte de mer avanserte funksjonene i Office League. Eksempler er installasjon, fullskjermmodus og offline-støtte.
Office League-teamet inviterer alle med et foosball-bord i nærheten til å registrere seg og opprette sin liga på officeleague.rocks.
Hvis du ikke har et bord ennå, er det nå en god grunn til å skaffe seg et!
Teknisk oversikt
Prosjektet benyttet følgende teknologier:
Enonic drifter all back-end, inkludert CMS and PWA-en
GraphQL-bibliotek som fundament for den tilpassede API-en – tilgjengelig på Enonic Market
Auth0-app for innlogging - tilgjengelig på Enonic Market
Dette prosjektet har vist oss hva moderne teknologi er i stand til. Progressive webapper er et paradigmeskifte for både mobil og nett. Som en allsidig platform håndterer Enonic alle våre back-end-krav uten å måtte navigere 5–6 ulike systemer.
Thomas Sigdestad
Office League Manager
Enonic
Les flere kundehistorier
Ikke ta vårt ord for god fisk. Ta det rett fra kilden – de reelle kundene av kjøtt og blod. Bli inspirert av deres mange kule prosjekter på Enonic-plattformen.