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

6.3 KiB

Guide de Test Rapide - ChartBastan

🚀 Démarrage rapide pour tester l'application complète


📋 Prérequis

Avant de commencer, assurez-vous d'avoir:

Vérifier les versions:

node --version   # Doit être 20+
python --version  # Doit être 3.11+

🚀 Démarrage en 3 Étapes

Étape 1: Installer les Dépendances Backend

cd backend
pip install -r requirements.txt

Étape 2: Installer les Dépendances Frontend

cd ../chartbastan
npm install

Étape 3: Démarrer les Deux Serveurs

Terminal 1 - Backend:

cd backend
python -m uvicorn app.main:app --reload --port 8000

Le backend démarre sur: http://localhost:8000

Terminal 2 - Frontend:

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:

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):

# 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

# 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

# Nettoyer node_modules
rm -rf node_modules
npm install

# Réessayer
npm run dev

Erreur de connexion Frontend-Backend

# 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

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

cd backend

# Linter
flake8 .

# Formatage
black .

# Tests
pytest tests/ -v

# Migrations
alembic upgrade head

Frontend

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

cd chartbastan
npm run dev -- -p 3001

Mettre à jour .env.local:

NEXT_PUBLIC_API_URL=http://localhost:8000
NEXT_PUBLIC_PORT=3001

Changer le Port Backend

cd backend
python -m uvicorn app.main:app --reload --port 8001

Mettre à jour chartbastan/.env.local:

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