Skip to content

Repository files navigation

🎮 LudoKan - Fullstack Complete

Plateforme de gestion de jeux de vidéo avec fonctionnalités sociales et recommandations

📍 Branche: fullstack-complete - Version complète avec frontend et backend

📋 Vue d'ensemble

LudoKan est une application web moderne permettant aux passionnés de jeux de vidéo de :

  • Gérer leur bibliothèque de jeux
  • Organiser des sessions de jeu
  • Découvrir de nouveaux jeux grâce aux recommandations
  • Interagir avec d'autres joueurs
  • Suivre leurs statistiques de jeu

🏗️ Architecture

Frontend (React + TypeScript + Vite)

  • React 18 avec TypeScript
  • Vite pour le build et dev server
  • ESLint + Prettier pour la qualité du code
  • Interface moderne et responsive

Backend (Django + DRF)

  • API REST avec Django REST Framework
  • Base de données PostgreSQL
  • Cache Redis
  • Tâches asynchrones Celery
  • Authentification JWT
  • Tests complets avec pytest

Infrastructure

  • Docker pour la containerisation
  • Docker Compose pour l'orchestration
  • PostgreSQL pour les données
  • Redis pour le cache et les tâches

🚀 Démarrage rapide

Prérequis

  • Docker et Docker Compose
  • Git

Installation

# Cloner le projet
git clone <repository-url>
cd LudoKan

# Démarrer les services
docker compose up -d

# Vérifier que tout fonctionne
docker compose ps

Accès

📚 Documentation

Architecture & Comparaisons

Backend

Frontend

🛠️ Développement

Structure du projet

LudoKan/ (fullstack-complete)
├── frontend/                # Frontend React + Vite
│   ├── src/                # Code source React
│   │   ├── App.tsx         # Composant principal
│   │   ├── main.tsx        # Point d'entrée
│   │   └── assets/         # Assets statiques
│   ├── public/             # Fichiers publics
│   ├── package.json        # Dépendances npm
│   ├── vite.config.ts      # Configuration Vite
│   └── tsconfig.json       # Configuration TypeScript
│
├── backend/                 # Backend Django
│   ├── apps/               # Applications Django
│   │   ├── users/          # Gestion des utilisateurs
│   │   ├── games/          # Gestion des jeux
│   │   ├── library/        # Bibliothèque personnelle
│   │   ├── social/         # Fonctionnalités sociales
│   │   ├── recommendations/ # Système de recommandations
│   │   └── core/           # Utilitaires communs
│   ├── config/             # Configuration Django
│   ├── tests/              # Tests globaux
│   ├── requirements.txt    # Dépendances Python
│   └── run_tests.py        # Script de tests
│
├── docs/                   # Documentation backend
│   ├── backend/           
│   │   ├── CELERY.md
│   │   ├── DOCKER.md
│   │   ├── ENV_SETUP.md
│   │   └── TESTING.md
│   └── README.md
│
├── ARCHITECTURE_BACKEND.md  # Architecture détaillée
├── ARCHITECTURE_DIAGRAM.md  # Diagrammes visuels
├── COMPARATIF_BRANCHES.md  # Comparaison branches
├── EXPLICATION_COMPLEXITE.md # Guide complexité
├── docker-compose.yml      # Configuration Docker
└── README.md              # Ce fichier

Commandes utiles

Backend

# Tests backend
docker compose exec web python run_tests.py

# Tests avec couverture
docker compose exec web python run_tests.py --coverage

# Migrations
docker compose exec web python manage.py migrate

# Shell Django
docker compose exec web python manage.py shell

# Logs backend
docker compose logs -f web

Frontend

# Installer les dépendances
cd frontend && npm install

# Démarrer le dev server
npm run dev

# Build pour production
npm run build

# Linter
npm run lint

# Format du code
npm run format

🧪 Tests

Le projet utilise pytest pour les tests avec une couverture de code.

# Exécuter tous les tests
docker compose exec web python run_tests.py

# Tests avec couverture
docker compose exec web python run_tests.py --coverage

# Tests d'une app spécifique
docker compose exec web python run_tests.py --app users

🔧 Configuration

Variables d'environnement

Copiez le template et configurez vos variables :

cp backend/env_template.txt .env
# Éditez .env selon vos besoins

Services & Ports

  • Frontend (Vite) : Port 5173
  • Backend (Django) : Port 8000
  • PostgreSQL : Port 5432
  • Redis : Port 6379

🌟 Fonctionnalités de cette branche

✅ Backend complet (backend_orignal_version)

  • Infrastructure Docker production-ready
  • API REST avec Django REST Framework
  • Authentification JWT
  • PostgreSQL + Redis
  • Celery pour tâches asynchrones
  • Suite de tests complète (~1000 lignes)
  • Documentation exhaustive

✅ Frontend moderne (dev)

  • React 18 avec TypeScript
  • Vite pour un dev server ultra-rapide
  • ESLint + Prettier configurés
  • Architecture composants

✅ Documentation complète

  • 4 documents d'architecture détaillés
  • Guides backend complets
  • Comparaison des approches techniques

📄 Licence

Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.

👥 Équipe

  • Mohammed - Chef de Projet
  • Danny - Lead Frontend
  • Yasmine - Developpeuse Frontend
  • Axel Epitech - Lead backend
  • André - Developpeur backend
  • Victor - Developpeur backend
  • Lina - Sécurité
  • Omar - Data ingénieur

📞 Support

Pour toute question ou problème :

  • Ouvrir une issue sur GitHub
  • Contacter l'équipe de développement

LudoKan - Votre bibliothèque de jeu vidéo

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages