337 lines
6.3 KiB
Markdown
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 ✅
|