hiervoor is geen Sheet nodig. De beste optie naast Sheets is een echte relationele database; voor deze app is D1/SQLite passend: snel, centraal, goedkoop, multi-tenant en geschikt voor gelijktijdig toevoegen en bewerken. De databasebinding en tabellenbasis zijn al aangelegd, maar het huidige scherm gebruikt nog voorbeelddata. Ik maak nu als eerste verticale, volledig werkende module Planning: lessen toevoegen, bewerken, verwijderen en blijvend opslaan, zodat we daarna exact hetzelfde patroon voor spelers, trainers en locaties kunnen herhalen. Hiervoor gebruik ik opnieuw de Sites-bouwflow op de bestaande app.
De CRUD-module zelf staat; bij de eindcontrole botste de databasehelper op een runtimeverschil tussen de lokale controle en de hostingomgeving. Ik pas die koppeling nu aan zonder de databasekeuze of de gebruikerservaring te veranderen.
We pakken dit op als de start van SportAdministrator Padelschool:
eerst leggen we de compacte architectuur en het MVP vast, daarna bouw ik meteen de werkende basisapp met login, sessie, dashboard en rolgebaseerde navigatie.
We maken gebruik van de Sites-bouwflow
omdat dit om een nieuwe webapp gaat, en houden bewust één codebase en één centrale datalaag aan.
Bouwen de SportAdministrator-padelschoolwebsite volgens site- en opslagrichtlijnen
De basiskeuze staat: geen Google Apps Script als runtime, maar een compacte React-webapp met centrale relationele opslag.
De eerste oplevering krijgt echte sessie-identiteit via de hostinglaag;
in de interface voegen we daarnaast een duidelijke rolweergave toe zodat de vier dashboards direct beoordeeld kunnen worden. Geen extra beeldmateriaal—de snelheid en productinterface dragen hier beter dan decoratieve afbeeldingen.
Gecontroleerd, patches toegepast en databaseschema gegenereerd
De eerste functionele slice is gebouwd: mobiel dashboard, login-/demoscherm, rolwissel, directe module-navigatie en de centrale datastructuur voor organisaties, gebruikers, rollen, locaties, banen, groepen, lessen, inschrijvingen, aanwezigheid en communicatie.
We controleren nu de volledige interactie en responsive weergave voordat we die opleveren.
Ik maak hiervan één zelfstandige index.html: alle opmaak, twintig lessen, formulieren en JavaScript komen in hetzelfde bestand. De pagina werkt daardoor direct in een browser of Google Sites-embed, zonder losse bestanden of installatie. Daarna controleer ik de import/export, lokale opslag en interne knoppen en maak ik het bestand downloadbaar. Ik gebruik hiervoor de bestandsopslagwerkwijze zodat je deze totale index als één blijvend bestand krijgt.
De eerste complete versie staat nu inhoudelijk klaar. De lessenbank ondersteunt invullen, automatisch bewaren, kopiëren, verwijderen, zoeken en filteren; de 20 weken openen direct de juiste les; de vijf vergelijkvragen zijn invulbaar; en WhatsApp maakt een deelbaar bericht met de vaste SportAdministrator-link. Ik controleer nu de mobiele weergave en de belangrijkste knoppen, daarna publiceer ik de werkende versie.
Ik gebruik de eerdere SportAdministrator-versie als uitgangspunt en bouw hem door tot een echte werkapp: interactieve leskaarten, formulieren, lokaal bewerken en opslaan, plus import/export voor TXT, CSV, JSON, Word-compatibel document en WhatsApp. Ik controleer eerst welke versie hier beschikbaar is en behoud de bestaande huisstijl en interne navigatie.
Geïnventariseerde skillbestanden en bouw- en site-instructies gelezen
De Sites-werkwijze bepaalt dat ik eerst de bewerkbare websiteomgeving moet openen voordat ik inhoud of code aanraak. Omdat de eerdere versie alleen als losse HTML bestond en niet als gekoppelde site beschikbaar is, maak ik hiervoor één nieuwe SportAdministrator-appomgeving aan; daarna neem ik de bestaande inhoud en vormgeving daarin over.
Aangemaakt: SportAdministrator-site
Ontwikkelde een interactieve SportAdministrator-webapp
Inspecteerde projectbestanden
De interactieve uitbreiding krijgt nu één duidelijke werkstroom: lessen zoeken en filteren, een les openen, alle KNLTB-velden invullen, wijzigingen lokaal bewaren, dupliceren en verwijderen, en daarna gericht delen of exporteren. Bij WhatsApp voeg ik automatisch de door jou opgegeven SportAdministrator-link toe. Import controleert eerst het bestand en voegt geldige lessen toe zonder de bestaande lessen zomaar te overschrijven.