Arkitektur
Komponenter
- Frontend i Clubsite CMS (Classic ASP + JS + CSS)
- ASP-loader som injiserer chatbot-konfigurasjon
- FastAPI backend (
/api/chat,/health) - Synk-arbeider (
sync_worker.py) som bygger klubbcache - SQL Server (master + klubbdatabaser)
- Gemini-modell for svargenerering
Arkitekturflyt
- Frontend sender
tenant_id,message,history - Backend leser
cache/<tenant_id>_context.json - Backend bygger systemprompt med sikkerhetsregler
- Backend kaller Gemini og returnerer svar
- Interaksjon logges per tenant i loggfil
Multi-klubb modell
tenant_idstyrer hvilken klubb som brukes- Hver klubb har egen cachefil
- Samme backend håndterer alle klubber
Prioritert banestatus
Banestatus fra setup_basic.course_condition injiseres som egen prioritet i systemprompten. Dette hindrer at gamle nyhetstekster overstyrer fersk driftsstatus.
API-endepunkter
GET /healthPOST /api/chat
Driftssynk
sync_worker.pyleser alle klubber fra mastertabellenClubs- Henter tillatte tabeller fra hver klubbdatabase
- Skriver renset JSON-cache med metadata