In de code van PadelOS worden de profielen en persoonlijke instellingen (zoals kleuren, achtergronden en lettergrootte) opgeslagen in het tabblad PROFIELEN van de Google Spreadsheet.
Dit tabblad is in de backend expliciet ingesteld met de volgende kolommen waarin alle gegevens en settings worden bewaard:
Identiteit & Basis: ID, USER_ID, WEERGAVENAAM, FOTO_URL, BIO, TAAL
Weergave & Instellingen: LETTERGROOTTE, THEMA, BG_KLEUR, KAART_KLEUR, TEKST_KLEUR, ACCENT_KLEUR
Padel & Sportgegevens: QUOTE, SPEELSTERKTE, BONDSNUMMER, SOCIALS, INTERESSES, PARTNER_STATUS, LESSEN, LOCATIES, LIDMAATSCHAPPEN
Als je kijkt in je Google Spreadsheet op de genoemde link, vind je het tabblad PROFIELEN als het tabblad waar al deze velden en instellingen per gebruiker centraal worden uitgelezen en opgeslagen.
Hier is de bijgewerkte en volledige Code.gs waarin de functie ensureTab_ en de kolommen voor het tabblad PROFIELEN (en alle andere tabbladen) automatisch worden beheerd. Als kolommen of tabbladen ontbreken in de Google Spreadsheet, voegt het script deze nu volledig automatisch toe zonder dat je handmatig iets hoeft aan te passen.
de rollen mogen dus ook een eigen knop krijgen, zoals SPELER: { icon: '🎾', title: 'Speler & Leerling', text: 'Toegang tot leerdoelen, lessen en voortgang.' },
TRAINER: { icon: '🧑🏫', title: 'Trainer & Coach', text: 'Beheer van lessen, schema’s en spelersfeedback.' },
ADMIN: { icon: '⚙️', title: 'Beheer & School', text: 'Systeemconfiguratie, gebruikers en rechten.' },
CLUB: { icon: '🏟️', title: 'Club & Locaties', text: 'Organisaties, banen, reserveringen en contacten.' },
PARTNER: { icon: '🤝', title: 'Sponsors & Investeerders', text: 'Projecten, partners en financiële overzichten.' } en laat de knoppen meteen werken met koppelingen naar nieuwe tabs waarin we de sheet info kunnen zien per rol, gebruik daarvan de tabbladen die er al zijn, login verificatie en dan https://docs.google.com/spreadsheets/d/1Rap-6ENmSOwF-lkSZuwxxkJfVWVyfNqRsSD0h9L4uF8/edit?gid=123245356#gid=123245356 inzicht in de sheet input en output per rol, DATECLUBS_CHECKEDSOURCES_FETCHEDCHANGESAUTO_APPLIEDREVIEW_NEEDEDNEW_CLUB_CANDIDATESEMAIL_SENT_ATNOTE van PAD4_DAILY_SUMMARY is misschien geschikt voor de rol: FINANCIEELFinancieel beheer en PAD4_DISCOVERY misschien ook, maar meer ook voor:INVESTEERDERInvesteerderInvesteerdersinterface, dus maak nu elke rol en elke scherm: KLANTKlantKlantSPELERSpeler / leerling / studentSpeler / leerling / studentOUDEROuder / verzorgerOuder / verzorgerTRAINER_IOPadeltrainer in opleidingPadeltrainer in opleidingTRAINERPadeltrainerPadeltrainerPADELCOACHPadelcoachPadelcoachPLANNERPlannerPlannerFINANCEFinancieel beheerFinancieel beheerSCHOOLADMINSchoolbeheerderSchoolbeheerderSUPERADMINSuperadminSuperadminCLUBADMINClubadminClub- en locatiebeheerCLUBCONTACTClubcontactContactpersoon van een clubSPONSORSponsorSponsorinterfaceINVESTEERDERInvesteerderInvesteerdersinterfaceFINANCIEELFinancieel beheerFinancieel dashboard met daarbij de bijpassende tabblad bewerkingsmogelijkheden vanuit de rol van de gebruikers
Hier is het volledige overzicht van de verbinding met het PadelOS-spreadsheet, de logica achter de tabbladen en rollen, en de implementatie voor Index.html en Code.gs voor het inlog- en registratiesysteem.
Het PadelOS spreadsheet bevat de volgende kernstabbladen (tabbladenstructuur gedefinieerd op basis van de aanwezige tabellen en API-definities):
PROFIELEN / USERS: Beheert alle gebruikers, e-mailadressen, rollen (admin, manager, trainer, player) en wachtwoordhashes.
SESSIES / APP_ACCESS: Beheert actieve inlogtokens, autorisaties en toegangsrechten per rol.
LESSEN & PLANNING: Overzicht van alle padellessen, roosterindelingen en aanvragen.
SPELER_LEERDOELEN & OBSERVATIES: Persoonlijke voortgang, SMART-doelen en technische/tactische observaties per speler.
BERICHTEN: Chatgesprekken en communicatie tussen spelers, trainers en administrators.
FINANCIËN / BETALINGEN: Facturatie, baanboekingen en kosten.
ADMIN_TAKEN & AUDIT_LOG: Systeembeheer, actielogboeken en beveiligingsaudits.
Logica voor Koppeling van Rollen aan Tabbladen:
Spelers (player): Gekoppeld aan 1 specifiek tabblad/persoonlijke rijen (gefilterd op basis van hun SPELER_ID of e-mailadres). Zij hebben uitsluitend toegang tot hun eigen lessen, persoonlijke leerdoelen, statistieken en eigen berichten.
Trainers (trainer / manager): Gekoppeld aan 1 of meerdere tabbladen die betrekking hebben op hun trainingsgroepen, lessenroosters, observatielijsten en baanboekingen.
Administrators (admin): Gekoppeld aan alle tabbladen zonder restrictie. Zij beheren de volledige database, gebruikersrollen, auditlogs en Systeemconfiguraties.
Hieronder staat de volledige, responsieve code voor de Index.html. Dit scherm ondersteunt:
E-mail login met verificatiecode (per mail of optioneel SMS).
Wachtwoord instellen voor nieuwe gebruikers.
Inloggen met bestaand wachtwoord.
Wachtwoord opvragen / resetten via een nieuwe verificatiecode.