Ga naar inhoud

Wat is dit platform?

Dit is een websiteplatform voor meerdere klanten tegelijk. Eén codebase levert per klant een eigen website op: met een eigen huisstijl, eigen teksten en afbeeldingen, een eigen beheeromgeving (CMS) en een eigen database. De techniek is gedeeld; alles wat de bezoeker ziet, verschilt per klant.

Lees deze pagina eerst. Daarna de begrippen en hoe het samenhangt. Samen geven ze genoeg context om de rest van de documentatie te volgen.

Websites voor kleine bedrijven lijken functioneel sterk op elkaar: een homepage, een pagina over het bedrijf, een dienstenoverzicht, nieuws, referenties en een contactformulier. Toch begon elke nieuwe klant vroeger als een nieuw project: opnieuw een CMS kiezen of bouwen, opnieuw hosting inrichten, opnieuw deployen. Dat kost tijd, en zodra sites van elkaar gaan afwijken wordt onderhoud steeds duurder.

Eén gedeelde codebase en blokkenbibliotheek, waaruit per klant een eigen site wordt samengesteld met eigen huisstijl, eigen content en een eigen deployment, beheerd vanuit een centraal dashboard.

Een bruikbare vergelijking: het platform is een fabriek, geen losse bouwplaats. Dezelfde blauwdruk en dezelfde onderdelen (de “blokken”) rollen voor elke klant van de band, maar de kleuren, de lettertypes, de teksten en de volgorde van de onderdelen komen uit de gegevens van die klant. Verbeter je de fabriek, dan profiteren alle klanten tegelijk.

Rol Wie Wat die doet
Platformbeheerder De eigenaar van het platform Klanten aanmaken, sites uitrollen, domeinen koppelen, alles in de gaten houden
Klantbeheerder De contactpersoon bij de klant Teksten, afbeeldingen, diensten en nieuws beheren in het CMS van de eigen site
Bezoeker Het publiek De site bekijken, het contactformulier invullen

Deze documentatie is geschreven voor de eerste groep en voor iedereen die aan de code werkt. Klantbeheerders krijgen een eigen uitleg bij oplevering.

  • Een publieke website met vaste paginatypen: home, over ons, diensten (overzicht en detail), nieuws (overzicht en detail), referenties en contact.
  • Een eigen CMS op het subdomein admin. van de eigen site. Daar logt de klant in en beheert pagina’s, diensten, nieuws, referenties, navigatie, media en instellingen.
  • Een eigen huisstijl: kleuren, lettertypes, hoekafronding en spacing staan als gegevens in de database, niet in code. Verander de primaire kleur in de instellingen en de hele site verandert mee.
  • Pagina’s opgebouwd uit blokken: een hero, een tekstblok, een afbeelding, een rij kaarten, een citaat, een call-to-action. De klant zet ze in de gewenste volgorde.
  • Een contactformulier dat inzendingen opslaat en een e-mail stuurt.
  • Zoekmachine-basis: meta-tags, sitemap, robots.txt, Open Graph, canonieke URL’s.
  • Isolatie: een eigen database en een eigen draaiende applicatie. Een probleem bij één klant raakt de anderen niet.

Het master dashboard: een centrale beheeromgeving waarin klanten worden geregistreerd en uitgerold. Met één knop (Provisioneren) krijgt een nieuwe klant een database, geheimen, een draaiende site bij de hostingpartij en een preview-adres zoals klantnaam.preview.okhema.studio. Het dashboard ontvangt ook gebeurtenissen van alle sites (content gepubliceerd, formulier ontvangen, iemand ingelogd) en beheert de koppeling van klantdomeinen.

  1. Techniek is gedeeld, verschijning is per klant. Dezelfde code en dezelfde blokken; huisstijl en pagina-opbouw komen uit de database van de klant.
  2. Een pagina is een geordende reeks blokken. Geen vaste velden per paginatype. Hier leunt de latere pagebuilder volledig op.
  3. Isolatie per klant. Eigen deployment, eigen database, eigen domein.
  4. Eén keer updaten, bij iedereen uitrollen. Een verbetering aan het template komt bij alle klanten terecht zonder handwerk per site.
  5. Klein beginnen. Handmatig doen wat nog niet vaak genoeg gebeurt om automatisering te rechtvaardigen.

Deze principes komen terug als harde regels voor de code; zie Architectuur.

Geen webshop, geen meertaligheid, geen fijnmazige rollen, geen versiebeheer van content. Een visuele pagebuilder (slepen en neerzetten) en analytics staan op de roadmap, maar zijn er nog niet. Zie Roadmap en status.

Het oorspronkelijke productdocument (PRD) is de bron van deze pagina en bevat ook de openstaande productvragen.