Table Football Foosball
Office League Logo

Introduksjon

Office League er en progressiv webapplikasjon for å holde styr på mål og rangeringer i din lokale kontor-foosballiga.

Det et prosjekt drevet av entusiaster med åpen kildekode, fritt tilgjengelig for alle som vil bli med på moroa. Appen brukes daglig av organisasjoner som Redhat, Salesforce, og til og med Enonic selv.

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/GitHub)
  • 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.

PWA-er består av en front-end og back-end. Teamet besluttet å bruke Angular 2 for front-end – et populært JavaScript-rammeverk fra Google.

For å kommunisere med serveren, benyttet teamet GraphQL, som ga 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.

Resultater

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.

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:

Kom i gang med Enonic! 🚀