Golf - Juniortävlingar

Dokumentationsportal

Systemarkitektur

Översikt

Golf - Juniortävlingar är en Flask-baserad webbapplikation som körs i Docker via Gunicorn. Systemet använder lokala datakataloger för databas, cache, uppladdningar och loggar.

Webbläsare
   │
   ▼
Reverse proxy / lokal port
   │
   ▼
Gunicorn
   │
   ▼
Flask web_app.py
   │
   ├── analysmotor
   ├── rankingimport
   ├── EntryList-import
   ├── Excelimport
   ├── databaslager
   ├── cache
   ├── scheduler
   └── dokumentationsportal

Komponenter

Komponent Beskrivning
web_app.py Webbapplikation och routes.
analysis_engine.py Analys av anmälningslistor och ranking.
ranking_importer.py Rankingimport och rankinghantering.
mingolf_importer.py Import från EntryList/API-källor.
excel_importer.py Import av Excel-filer.
db.py Databasfunktioner.
app_logging.py Loggning.
docs_feature.py Inbyggd dokumentationsportal.

Docker

Båda miljöerna bygger samma applikation från Git-kodbasen.

Docker-image:

golf-juniortavlingar:latest

På sikt bör latest ersättas av versionsstyrda image-taggar, exempelvis:

golf-juniortavlingar:20.31.0-foundation

Git Worktree

Systemet använder Git Worktree för att ha två aktiva arbetskopior:

/opt/golf-juniortavlingar/prod/app  -> main
/opt/golf-juniortavlingar/test/app  -> develop

Det minskar risken att test och produktion glider isär.

Dataflöde

Anmälningslista / EntryList API
   │
   ▼
Importmodul
   │
   ▼
Databas och cache
   │
   ▼
Analysmotor
   │
   ▼
Webbgränssnitt och rapporter