Skip to content
Rutger Hemrika
Menu
← Werk

Hemrika, voor tennisverenigingen en de KNLTB · 2014 - 2016

ClubCloud: een compleet platform voor een tennisclub, gebouwd om platforms te begrijpen

Private cloud, ledenadministratie, baanreservering op kiosk en telefoon, websites, mail en een tweerichtingskoppeling met de tennisbond. Gebouwd van 2014 tot 2016, in eigen tijd, voor één club.

private cloud (Hyper-V)leden, boekingen, websites, mail, beveiligingkioskmobiele appbondskoppelingledenportaal
Een private cloud met ledenadministratie, boekingskiosk, mobiele app, websites en mail, gesynchroniseerd met de landelijke bond.

Waarom

In 2013 trad ik toe tot het bestuur van mijn tennisclub. De functie kwam met een ledenlijst op drie plekken, een baanreserveringslijst op papier, een website die niemand kon bijwerken, en een landelijke bond die onze gegevens wilde in een formaat dat wij niet konden maken. Ik had een decennium lang SharePoint- en .NET-platforms gearchitectureerd voor andermans organisaties. Ik wilde weten wat ik werkelijk kon door er zelf een te bouwen, van begin tot eind, zonder collega’s om de moeilijke delen aan over te dragen.

Wat het werd

Een platform, geen website. Private cloud op Hyper-V met elke component gevirtualiseerd en hoog beschikbaar: firewall, mail, SharePoint, databases, alles op één Windows-cluster, zodat elk onderdeel onderhouden of geschaald kon worden zonder de club offline te halen.

Daarbovenop:

  • Ledenadministratie met één bron van waarheid, in twee richtingen gesynchroniseerd met de Dynamics-omgeving van de tennisbond via een SharePoint-serviceapplicatie.
  • Baanreservering op een 22-inch touchscreen-kiosk in het clubhuis, met een sideloaded Windows-app in kioskmodus uit een eigen enterprise-appstore, en dezelfde reservering in een cross-platform mobiele app.
  • Een ledenomgeving voor persoonsgegevens, lidmaatschapswijzigingen, betalingen en prestatieprofiel.
  • Publieke websites als host-named site collections, gebouwd met uitsluitend HTML5, Angular, Polymer en REST, zodat ontwerpwijzigingen geen diepe programmeerkennis vereisten.
  • Mail en beveiliging via een volledige integratie tussen SharePoint en Zimbra voor mail, lidmaatschap, rollen, SAML en profielen, met geanonimiseerde leden zodat communicatie alleen via het platform kon lopen.

Onderweg publiceerde ik een open AngularJS-module die de REST-API’s van SharePoint omhulde, zodat iedereen die iets vergelijkbaars bouwde het deel kon overslaan dat mij het langst had gekost.

Wat het me leerde

Drie lessen die ik nog steeds gebruik.

Integratie is het product. Niemand op de club gaf om SharePoint. Ze gaven erom dat wanneer een lid zich aanmeldde, de bond het wist, de mailinglijst het wist, de kiosk het wist, en de factuur de deur uitging. De waarde zat volledig in de naden.

Een platform dat je zelf draait, leert je wat elke leverancier verbergt. Hoge beschikbaarheid, back-ups, certificaten, patchen, een mailserver die van de blocklists blijft: als je dat allemaal alleen hebt gedaan om elf uur ’s avonds, lees je elk architectuurdiagram anders.

Bouw het om het te begrijpen. Hier komt dat principe vandaan. Een decennium later paste ik het toe op AI-governance, om dezelfde reden: ik vertrouwde geen architectuur die ik niet had geprobeerd te breken.

Status

Draaide enkele jaren in productie bij de club en is overgedragen. Technologie van zijn tijd; de code staat openbaar op GitHub als verslag, niet als aanbeveling.