STK Opatija-08 Klubledelsesplatform
En omfattende full-stack webapplikation til en kroatisk bordtennis sportsklub med event-styring, gentagende tidsplaner, spillerprofiler, mediegallerier og et kraftfuldt admin-dashboard.
Ydelser
Teknologier
Udfordringen
STK Opatija-08, en bordtennis sportsklub i Opatija, Kroatien, havde brug for at modernisere deres drift og online tilstedeværelse. Deres eksisterende workflow baserede sig på manuelle processer og fragmenterede værktøjer, der ikke kunne følge med klubbens voksende fællesskab.
- Manuel event-styring: Håndtering af gentagende træningssessioner, turneringer og events på tværs af flere trænere og niveauer var tidskrævende og fejlbehæftet
- Spredt spillerdata: Spillerinformation, præstationer og statistikker var spredt på tværs af regneark uden en central kilde til sandhed
- Ingen web-tilstedeværelse: Klubben manglede en professionel hjemmeside til at tiltrække nye medlemmer og fremvise deres fællesskab
- Administrativ overhead: Opgaver krævede betydelig manuel indsats uden rollebaseret adgangskontrol
Vores Tilgang
Vi designede og byggede en omfattende full-stack platform, der fungerer som både klubbens offentlige hjemmeside og deres interne styringssystem.
- Samlet Arkitektur: Enkelt Next.js 15-applikation med App Router, der serverer både offentlige sider og admin-dashboard, hvilket muliggør genbrug af kode og ensartet UX
- Robust Event-system: Implementerede RFC 5545 RRULE-specifikation til komplekse gentagende events med per-forekomst tilpasning og aflysningssporing
- Sikkerhed-først Design: Row-Level Security (RLS) politikker i PostgreSQL sikrer dataisolering, kombineret med JWT-baseret autentificering og rollebaseret adgangskontrol
- Optimeret Medie-pipeline: Cloudinary-integration med automatisk billedoptimering, blurhash-placeholders og responsive varianter til hurtig indlæsning
- Internationalisering-klar: Bygget med next-intl fra starten til at understøtte kroatisk og fremtidig sprogudvidelse
Nøglefunktioner
- Gentagende Event-styring: Fuld RRULE-support til komplekse tidsplaner (hver-anden-uge coaching, månedlige turneringer) med individuelle forekomst-overrides og aflysningssporing
- Spillerprofiler & Præstationer: Omfattende spillerfortegnelse med fotos, statistikker, præstationer og sæsonbaseret performance-tracking
- Rich Content Redigering: Tiptap-drevet WYSIWYG-editor med AI-tekstforbedring via Google Gemini-integration til at polere indhold
- Medie-gallerisystem: Organiserede gallerier med drag-and-drop omorganisering, lightbox-visninger og automatisk billedoptimering
- Rollebaseret Admin Dashboard: Tilpasseligt dashboard med widgets, understøtter SUPER_ADMIN, ADMIN, EDITOR og VIEWER roller
- Event-tilmeldinger & Notifikationer: Medlemmer kan tilmelde sig events med email-bekræftelser via Resend
- Printbare Kalendere: Eksporter ugentlige og månedlige kalendervisninger optimeret til print
Resultater
Platformen transformerede hvordan STK Opatija-08 opererer og engagerer sig med deres fællesskab:
- 35+ databasemodeller driver omfattende klubstyring
- 150+ custom React-komponenter til konsistent, tilgængeligt UI
- 37+ admin-sider til komplet operationel kontrol
- 4 brugerroller med finkornet rettighedsstyring
- Real-time event-styring med gentagende tidsplan-support
Teknisk Arkitektur
En moderne full-stack arkitektur bygget til performance, sikkerhed og vedligeholdbarhed:
| Lag | Teknologier | |-----|-------------| | Frontend | Next.js 15 App Router, TypeScript, Tailwind CSS, Radix UI, Framer Motion, TanStack Table, Tiptap Editor, Embla Carousel, dnd-kit | | Backend | Next.js API Routes, Prisma ORM, PostgreSQL med Row-Level Security, NextAuth.js v5, Zod-validering | | Infrastruktur | Supabase (PostgreSQL), Cloudinary (Medie-CDN), Resend (Transaktionel Email), Google Gemini (AI-tekstforbedring) |
Tekniske Højdepunkter
Dette projekt fremviser flere avancerede implementeringer:
Row-Level Security: Database-niveau adgangskontrol ved hjælp af PostgreSQL RLS-politikker med session-kontekst injection, sikrer dataisolering uden applikationsniveau-filtrering.
Kompleks Event-planlægning: Fuld RFC 5545 RRULE-implementering med serie-ekspansion, forekomst-overrides og aflysningshåndtering til fleksible gentagende events.
Medie-optimerings Pipeline: Automatisk blurhash-generering, dominant farve-ekstraktion og responsive billedvarianter sikrer hurtig indlæsning på tværs af alle enheder.
Type-sikker Full Stack: End-to-end TypeScript med Zod-skemaer delt mellem klient- og servervalidering eliminerer runtime type-fejl.
CMS & Admin Oplevelse
Platformen inkluderer et omfattende content management system bygget specifikt til sportsklubdrift:
Dashboard Oplevelse
- Tilpasseligt Widget-layout: Drag-and-drop dashboard med størrelsesændrende widgets, der viser kommende events, nylig aktivitet, medlemsstatistik og hurtige handlinger
- Rollespecifikke Visninger: Dashboard tilpasser sig baseret på brugerrolle—redaktører ser indholdskøer, mens admins ser systemsundhed og brugerstyring
- Aktivitetsfeed: Real-time aktivitetsstrøm, der viser nylige ændringer på tværs af platformen med hurtig navigation til berørte elementer
Indholdsstyring
- Rich Text Editor: Tiptap-drevet editor med formateringsværktøjslinje, billedindlejring, tabeller og AI-tekstforbedring via Google Gemini
- Kladde/Publicer Workflow: Indhold bevæger sig gennem kladde → gennemgang → publiceret tilstande med planlagt publiceringsunderstøttelse
- Versionshistorik: Fuld revisionshistorik med diff-visninger og et-klik tilbagerulning til tidligere versioner
- SEO-værktøjer: Indbygget meta-beskrivelseseditor, slug-tilpasning og Open Graph-billedvalg
Mediebibliotek
- Centraliseret Asset Management: Alle billeder organiseret i et søgbart bibliotek med mapper, tags og automatisk metadata-ekstraktion
- Bulk Upload: Drag-and-drop flere filer med fremskridtssporing og automatisk optimering
- Billedredaktør: In-browser beskæring, rotation og fokuspunktvalg til responsive billedvarianter
- Brugsssporing: Se hvor hvert asset bruges på tværs af siden med automatisk forældreløs-detektion
Event Administration
- Visuel Kalenderinterface: Måned/uge/dag-visninger med drag-and-drop event-oprettelse og -omplanlægning
- Gentagende Event-skabeloner: Opret skabeloner til regelmæssige træningssessioner med undtagelseshåndtering for helligdage
- Tilmeldingsstyring: Se og eksporter deltagerlister, send massekommunikation og spor kapacitet
- Konfliktdetektion: Automatiske advarsler ved planlægning af overlappende events for samme venue eller træner
Spillerstyring
- Profilbygger: Omfattende spillerprofiler med fotos, biografi, spillerhistorik og præstationsbadges
- Statistiksporing: Registrer kampresultater, ranglister og performancemetrikker med automatisk leaderboard-generering
- Dokumentopbevaring: Vedhæft lægeerklæringer, medlemsaftaler og andre dokumenter til spillerprofiler
- Bulk-operationer: Import/eksport af spillerdata, send gruppekommunikation og administrer medlemsstatus i batches
Yderligere Admin-funktioner
- Brugerstyring: Inviter nye brugere, tildel roller og administrer tilladelser med audit-logning
- Sideindstillinger: Konfigurer klubinformation, kontaktoplysninger, sociale links og branding fra en central placering
- Email-skabeloner: Tilpas automatiserede email-skabeloner til eventbekræftelser, velkomstbeskeder og notifikationer
- Analytics Dashboard: Se sidevisninger, populært indhold og brugerengagement-metrikker drevet af integreret analytics
Skærmbilleder


