Techniek
De softwareonderdelen achter sr-stats, in hoofdlijnen.
sr-stats bestaat uit een webapp, een gegevensopslag en een documentatiesite. Deze pagina toont welke onderdelen daar nu een rol in hebben. We publiceren geen interne inrichting of beheergegevens.
De app
De webapp draait op deze onderdelen.
Next.js
De webapp en de servergerenderde pagina's.
React
De interfacebibliotheek waarmee de app is gebouwd.
TypeScript
Getypeerde code door de hele applicatie.
Tailwind CSS
Styling met de eigen ontwerpvariabelen van sr-stats.
Base UI
De interactieve bouwstenen van de interface.
CVA
Consistente varianten van onderdelen.
Material Symbols Rounded
De iconen in de app.
Framer Motion
Animaties en overgangen in de interface.
Bone
De eigen laadplaatshouders van sr-stats die de vorm van een pagina tonen terwijl gegevens binnenkomen.
React Wheel Picker
Het draaiwiel om filterwaarden te kiezen.
Kaarten, grafieken en gegevens in de app
Deze onderdelen tonen kaarten en grafieken en houden de gegevens in de app bij.
Leaflet
De interactieve kaarten, ook de parcourskaarten.
Leaflet Geoman
Routes tekenen en bewerken op een kaart.
Recharts
De grafieken, zoals punten per seizoen.
SWR
Gegevens in de browser ophalen en actueel houden.
Zustand
De status van de kaarteditor voor partners.
Zod
Controleren of binnenkomende gegevens de verwachte vorm hebben.
react-force-graph
De interactieve netwerkgrafieken, gebouwd op de krachtensimulatie van D3.
Afbeeldingen en bestanden
sharp
Afbeeldingen verwerken op de server, zoals de voorbeeldafbeeldingen bij gedeelde links.
SheetJS
Spreadsheets lezen, zoals Excel-bestanden met ledenlijsten.
Gegevens en accounts
Gegevens, accounts en sessies lopen via deze onderdelen.
PostgreSQL
De relationele gegevensopslag.
Supabase
PostgreSQL wordt bij Supabase gehost.
Better Auth
Accounts en sessies voor de app.
Upstash
Redis en rate limiting waar die nodig zijn.
Hosting en documentatie
De webapp en deze documentatie draaien op deze onderdelen.
Gegevenssynchronisatie
De syncserver importeert de wedstrijdgegevens met deze onderdelen.
Coolify
Laat de permanent draaiende syncserver draaien.
Better Stack
Bewaakt of de syncserver nog draait.
Communicatie
Transactionele e-mail gaat via deze providers.
Zeptomail
De primaire provider voor transactionele e-mail.
Resend
De reserveprovider voor transactionele e-mail.