chartbastan/docs/README-TEST.md
2026-02-01 09:31:38 +01:00

337 lines
6.3 KiB
Markdown

# Guide de Test Rapide - ChartBastan
🚀 **Démarrage rapide pour tester l'application complète**
---
## 📋 Prérequis
Avant de commencer, assurez-vous d'avoir:
- ✅ Node.js 20+ ([Télécharger](https://nodejs.org/))
- ✅ Python 3.11+ ([Télécharger](https://www.python.org/))
- ✅ Git (optionnel)
**Vérifier les versions:**
```bash
node --version # Doit être 20+
python --version # Doit être 3.11+
```
---
## 🚀 Démarrage en 3 Étapes
### Étape 1: Installer les Dépendances Backend
```bash
cd backend
pip install -r requirements.txt
```
### Étape 2: Installer les Dépendances Frontend
```bash
cd ../chartbastan
npm install
```
### Étape 3: Démarrer les Deux Serveurs
**Terminal 1 - Backend:**
```bash
cd backend
python -m uvicorn app.main:app --reload --port 8000
```
Le backend démarre sur: **http://localhost:8000**
**Terminal 2 - Frontend:**
```bash
cd chartbastan
npm run dev
```
Le frontend démarre sur: **http://localhost:3000**
---
## 🎯 Tester l'Application
1. **Ouvrir votre navigateur** sur http://localhost:3000
2. **Page d'accueil** s'affiche avec le branding ChartBastan
3. **Tester l'inscription** → Créer un compte
4. **Tester le login** → Se connecter
5. **Explorer le dashboard** → Voir les matchs et prédictions
---
## 🧪 Fonctionnalités à Tester
### 1. Authentification
- [ ] Inscription d'un utilisateur
- [ ] Connexion avec identifiants valides
- [ ] Déconnexion
- [ ] Rester connecté (session persistence)
### 2. Dashboard Principal
- [ ] Affichage des matchs actuels
- [ ] Graphique d'énergie en temps réel
- [ ] Mise à jour automatique (pull-to-refresh)
### 3. Prédictions
- [ ] Faire une prédiction sur un match
- [ ] Voir les scores de confiance
- [ ] Voir l'énergie collective calculée
- [ ] Historique des prédictions
### 4. Classement (Leaderboard)
- [ ] Voir le Top 100
- [ ] Voir son propre rang
- [ ] Comparer avec d'autres utilisateurs
### 5. Badges et Gamification
- [ ] Voir les badges obtenus
- [ ] Progression des badges
- [ ] Partager les succès
### 6. Notifications
- [ ] Activer les notifications
- [ ] Recevoir des notifications de prédictions
- [ ] Gérer les préférences de notification
### 7. Historique
- [ ] Voir l'historique des prédictions
- [ ] Voir le taux de précision
- [ ] Comparer les résultats avec l'énergie collective
### 8. Parrainage
- [ ] Générer un lien de parrainage
- [ ] Voir les récompenses
### 9. Comparaison Énergie vs Stats
- [ ] Voir la comparaison énergie/stats
- [ ] Graphiques comparatifs
- [ ] Performance historique
---
## 🔧 Configuration Optionnelle
### API Documentation
Le backend fournit une documentation interactive:
- **Swagger UI:** http://localhost:8000/docs
- **ReDoc:** http://localhost:8000/redoc
### Base de Données
La base de données SQLite est créée automatiquement:
- Chemin: `chartbastan/chartbastan.db`
- Réinitialiser: Supprimer le fichier `.db` et redémarrer
### Workers Asynchrones
Les workers sont optionnels (pour scraping asynchrone):
```bash
# Scraper worker
cd backend
python workers/run_scraping_worker.py
# Sentiment worker
python workers/run_sentiment_worker.py
# Energy worker
python workers/run_energy_worker.py
```
---
## 📊 Structure des Données
### Tables Principales
- **users** - Utilisateurs authentifiés
- **matches** - Matchs de football
- **predictions** - Prédictions du système
- **user_predictions** - Prédictions utilisateurs
- **tweets** - Données Twitter scrapées
- **reddit_posts** - Données Reddit scrapées
- **sentiment_scores** - Scores de sentiment
- **energy_scores** - Scores d'énergie collective
---
## 🐛 Dépannage Rapide
### Backend ne démarre pas
```bash
# Vérifier si le port 8000 est utilisé
# Windows:
netstat -ano | findstr :8000
# Linux/Mac:
lsof -ti:8000 | xargs kill -9
# Réessayer
python -m uvicorn app.main:app --reload --port 8000
```
### Frontend ne démarre pas
```bash
# Nettoyer node_modules
rm -rf node_modules
npm install
# Réessayer
npm run dev
```
### Erreur de connexion Frontend-Backend
```bash
# Vérifier que backend tourne sur http://localhost:8000
curl http://localhost:8000/api/health
# Vérifier la configuration frontend
cat chartbastan/.env.local
# Doit contenir: NEXT_PUBLIC_API_URL=http://localhost:8000
```
### Base de données vide
```bash
cd backend
# Appliquer les migrations
alembic upgrade head
# Générer des données de test
python scripts/generate_historical_matches.py
```
---
## 📝 Commandes Utiles
### Backend
```bash
cd backend
# Linter
flake8 .
# Formatage
black .
# Tests
pytest tests/ -v
# Migrations
alembic upgrade head
```
### Frontend
```bash
cd chartbastan
# Linter
npm run lint
# Type checking
npm run type-check
# Tests
npm run test
# Build
npm run build
```
---
## 🎨 Personnalisation
### Changer le Port Frontend
```bash
cd chartbastan
npm run dev -- -p 3001
```
Mettre à jour `.env.local`:
```bash
NEXT_PUBLIC_API_URL=http://localhost:8000
NEXT_PUBLIC_PORT=3001
```
### Changer le Port Backend
```bash
cd backend
python -m uvicorn app.main:app --reload --port 8001
```
Mettre à jour `chartbastan/.env.local`:
```bash
NEXT_PUBLIC_API_URL=http://localhost:8001
```
---
## 📚 Documentation Complète
Pour plus de détails sur l'architecture et l'implémentation:
- **Documentation complète:** `docs/` (ce dossier)
- **PRD:** `_bmad-output/planning-artifacts/prd.md`
- **Architecture:** `_bmad-output/planning-artifacts/architecture.md`
- **Artefacts d'implémentation:** `_bmad-output/implementation-artifacts/` (38 fichiers)
---
## ✅ Checklist Avant le Test
- [ ] Node.js 20+ installé
- [ ] Python 3.11+ installé
- [ ] Dépendances backend installées (`pip install -r requirements.txt`)
- [ ] Dépendances frontend installées (`npm install`)
- [ ] Backend démarré sur le port 8000
- [ ] Frontend démarré sur le port 3000
- [ ] Navigateur ouvert sur http://localhost:3000
---
## 🎉 Bon Testing!
L'application est complète et tous les epics sont implémentés. Profitez de l'expérience ChartBastan!
**Pour des questions ou des problèmes:**
- Consultez la documentation Swagger: http://localhost:8000/docs
- Vérifiez les logs dans les terminaux
- Consultez les artefacts d'implémentation dans `_bmad-output/`
---
**Date de création:** 2026-01-18
**Version:** 0.1.0
**Statut:** Tous les épics complétés ✅