🇬🇧 English version
Summit Stats v3.0 — production deployment on a live server, end-to-end test suite, full CI/CD pipeline with automated build and deploy.
Production deployment
- Docker stack behind Traefik reverse proxy with automatic Let's Encrypt TLS
- Images built in CI and pushed to GHCR (GitHub Container Registry)
- Automated SSH deployment triggered by E2E success
OSM tile proxy cache
- Nginx server-side proxy cache for OpenStreetMap tiles
- Persistent Docker volume (1 GB cap, 30-day TTL)
- Reduces load on OSM infrastructure, speeds up repeat visits to explored areas
E2E test suite
- 32 Playwright scenarios covering auth, upload, dashboard, activity list and detail
- Runs against the full Docker stack in CI
- Gates production deployment — deploy only triggers if E2E passes
CI/CD pipeline
- Pre-commit hooks: Husky + lint-staged (auto-fix PHP and JS/Vue on staged files)
- Linters run before tests in CI for fast failure on style issues
- Workflow chaining: push → CI + E2E → build → GHCR → deploy
- Manual workflow_dispatch available for hotfixes and rollbacks
Quality
- 212 automated tests (118 backend · 62 frontend unit · 32 E2E)
- 100% coverage backend and frontend, reported separately on Codecov (per-flag badges)
🇫🇷 Version française
Summit Stats v3.0 — déploiement en production sur serveur live, suite de tests end-to-end, pipeline CI/CD complet avec build et déploiement automatisés.
Déploiement en production
- Stack Docker derrière un reverse proxy Traefik avec TLS Let's Encrypt automatique
- Images buildées en CI et poussées sur GHCR (GitHub Container Registry)
- Déploiement SSH automatisé déclenché par le succès des tests E2E
Cache de tuiles OSM
- Proxy cache nginx côté serveur pour les tuiles OpenStreetMap
- Volume Docker persistant (plafonné à 1 Go, TTL 30 jours)
- Réduit la charge sur l'infrastructure OSM, accélère les zones déjà explorées
Suite de tests E2E
- 32 scénarios Playwright couvrant l'auth, l'upload, le dashboard, la liste et le détail des activités
- Exécutée sur le stack Docker complet en CI
- Conditionne le déploiement — le deploy ne se déclenche qu'en cas de succès E2E
Pipeline CI/CD
- Hooks pre-commit : Husky + lint-staged (auto-fix PHP et JS/Vue sur les fichiers stagés)
- Lint avant les tests en CI pour échouer rapidement sur les problèmes de style
- Workflow chaining : push → CI + E2E → build → GHCR → deploy
- workflow_dispatch manuel disponible pour les hotfixes et rollbacks
Qualité
- 212 tests automatisés (118 backend · 62 unit frontend · 32 E2E)
- 100% de couverture backend et frontend, reportée séparément sur Codecov (badges par flag)