DuelDeDame
Jeu de dames en ligne temps reel, Next.js et NestJS, design patterns (Strategy, Factory)
Technologies
Documentation du projet
Duel de Dame
Un jeu de dames moderne, jouable en ligne avec un ami, développé avec Next.js (front) et NestJS (API temps réel) en TypeScript.
🎮 Fonctionnalités
- Plateau de jeu 8x8
- Pions blancs et noirs
- Déplacement des pièces
- Alternance des tours
- Jouable à deux en ligne (temps réel)
- Interface moderne et responsive
🚀 Installation & Lancement
- Clone le repository :
git clone [URL_DU_REPO]
cd duel-de-dame
- Installe toutes les dépendances :
npm install
-
Configure les variables d'environnement :
Crée un fichier.envà la racine (voir exemple plus bas). -
Lance le projet en mode développement (front + back) :
npm run dev
- Le front Next.js sera dispo sur http://localhost:3000
- L'API temps réel NestJS (Socket.IO) tournera sur http://localhost:3001
Scripts utiles
npm run dev:front: Lance uniquement le front Next.jsnpm run dev:back: Lance uniquement le backend NestJS (API temps réel)npm run build: Build front + back pour la prodnpm run start:front: Démarre le front Next.js en mode prodnpm run start:back: Démarre l'API NestJS en mode prod
⚙️ Variables d'environnement
Exemple de .env à la racine :
# --- Backend ---
NEST_PORT=3001
NEST_CORS_ORIGIN=http://localhost:3000
# --- Frontend ---
NEXT_PUBLIC_API_URL=http://localhost:3001
👥 Jouer en ligne avec un ami
- Clique sur "Créer une partie" pour obtenir un code de partie.
- Envoie ce code à ton ami pour qu'il puisse rejoindre.
- Quand vous êtes deux, la partie commence et chaque coup est synchronisé en temps réel !
🛠️ Technologies utilisées
- Next.js 14 (frontend)
- NestJS 11 (backend temps réel)
- TypeScript
- Tailwind CSS
- Socket.IO (temps réel)
- Design Patterns (MVC, Observer, Factory, Strategy)
🎯 Règles du jeu
- Les pions se déplacent uniquement en diagonale vers l'avant
- Les pions peuvent capturer les pièces adverses en sautant par-dessus
- Un pion qui atteint la dernière rangée devient une dame
- Les dames peuvent se déplacer en diagonale sur n'importe quelle distance
- Le joueur qui capture toutes les pièces adverses gagne
🤝 Contribution
Les contributions sont les bienvenues ! N'hésite pas à :
1. Fork le projet
2. Créer une branche pour ta fonctionnalité
3. Commiter tes changements
4. Pousser vers la branche
5. Ouvrir une Pull Request
📝 Licence
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
Code source
Projet open source hébergé sur GitHub.
- 0 étoiles
- 0 forks
- TypeScript
Projets suggeres
ClientCRM
CRM simple pour PME: contacts, opportunites, suivi - Next.js React TypeScript
WebDeliveryTrack
Suivi de livraisons pour PME logistique - tableau de bord, colis, chauffeurs - Next.js TypeScript
WebDistributionJournaux
Application distribution de journaux - Node.js MongoDB, zones et seed
WebDuelDeDame-Legacy
Version initiale du jeu de dames (loupix) - code source historique