Güdlft Regional est une application web développée avec Flask qui permet aux clubs de force régionaux de gérer les inscriptions aux compétitions de manière équitable et transparente.
⚡ Statut du projet : Phase 1 terminée • Phase 2 terminée • Tests et débogages terminées
En tant que développeur chez Güdlft, nous devions :
- 🔍 Déboguer l'application existante de la Phase 1
- 🧪 Implémenter une suite de tests complète (TDD)
- 🚀 Développer les fonctionnalités de la Phase 2
- Tableau de bord club
- Système de réservation intelligent
- Messages d'erreur gérés
- Gestion des sessions
- Tableau public des points
- Optimisation des performances
- Python 3.8 ou supérieur
- pip (gestionnaire de paquets Python)
- Navigateur web moderne
# 1. Cloner le projet
git clone
cd gudlft-regional
# 2. Créer l'environnement virtuel
python -m venv venv
# 3. Activer l'environnement
# Sur Windows :
venv\Scripts\activate
# Sur Mac/Linux :
source venv/bin/activate
# 4. Installer les dépendances
pip install -r requirements.txt
# 5. Lancer l'application
python -m flask runL'application sera accessible sur : http://localhost:5000
gudlft-regional/
├── app.py # Application Flask principale
├── clubs.json # Base de données des clubs
├── competitions.json # Base de données des compétitions
├── requirements.txt # Dépendances Python
├── tests/ # Suite de tests complète
└── templates/ # Templates HTML
├── index.html # Page de connexion
├── welcome.html # Tableau de bord
├── booking.html # Page de réservation
└── points.html # Tableau public des points
- Interface de connexion simple avec email
- Validation des emails existants dans la base
- Redirection vers le tableau de bord personnel
# Données affichées :
- Club: "Iron Legends"
- Points: 25
- Compétitions à venir:
* "Spring Festival" (13 places disponibles)
* "Fall Classic" (20 places disponibles)- Sélection du nombre de places (1-12 max)
- Vérification en temps réel des contraintes
- Confirmation avec mise à jour immédiate des points
- Classement de tous les clubs
- Affichage des points disponibles
- Accessible sans connexion
- Couverture de code : > 60% visé
- Temps de réponse : < 5s (compétitions), < 2s (points)
- Tests automatisés : pytest
# Types de branches
feature/tableau-points-public # Nouvelle fonctionnalité
bug/email-issue # Correction de bug# Cycle Red-Green-Refactor
1. Écrire un test qui échoue (Red)
2. Implémenter le code minimal pour passer (Green)
3. Optimiser et nettoyer le code (Refactor)- 6 utilisateurs simultanés minimum
- Temps de chargement < 5 secondes
- Mises à jour < 2 secondes
📚 Documentation Flask : https://flask.palletsprojects.com/
🧪 Documentation pytest : https://docs.pytest.org/
📊 Documentation Locust : https://docs.locust.io/
# 1. Créer une branche
git checkout -b feature/ma-nouvelle-fonctionnalite
# 2. Développer avec tests
# 3. Vérifier la couverture
pytest --cov=app
# 4. Tests de performance
locust --headless -u 6 -r 2
# 5. Merge après validation
git checkout master
git merge feature/ma-nouvelle-fonctionnalite