Application web pour jouer au jeu de plateau Quoridor en ligne. Supporte parties multijoueurs avec IA et systeme de boutique integre.
- Frontend: React + TypeScript + Vite + TailwindCSS
- Backend: Node.js + Express + TypeScript
- Base de donnees: SQLite avec Drizzle ORM
- Communication temps reel: Socket.io
- Conteneurisation: Docker + Docker Compose
/
├── frontend/ # Application React
├── backend/ # API Express + logique jeu + base de donnees SQLite + authentification + websockets + ia
├── shared/ # Types partages entre front/back
├── data/ # Base de donnees SQLite (sur docker)
└── docker-compose.yml # Configuration conteneurs
- Parties 2-4 joueurs
- IA avec 3 niveaux de difficulte
- Validation complete des regles
- Interface graphique intuitive
- Systeme de rooms
- Communication websocket temps reel
- Gestion deconnexions joueurs
- Tours IA automatiques
- Themes de pions personnalises
- Integration Stripe pour paiements
- Gestion collections utilisateurs
- Node.js 18+
- Docker et Docker Compose
docker-compose up --build- Frontend: http://localhost:3000
- Backend: http://localhost:3001
# Backend
cd backend
npm install
npm run dev
# Frontend (nouveau terminal)
cd frontend
npm install
npm run devcd backend
npm run db:migrate # Creation schema
npm run db:seed # Donnees de test
npm run db:studio # Interface graphiquenpm run dev- Serveur development avec hot reloadnpm run build- Build productionnpm run test- Tests unitairesnpm run db:generate- Generation migrations
npm run dev- Serveur development Vitenpm run build- Build productionnpm run preview- Preview build production
NODE_ENV- Mode execution (development/production)PORT- Port serveur backend (defaut: 3001)VITE_API_URL- URL backend pour frontendDB_FILE_NAME- Chemin base de donnees SQLite
- Frontend: 3000
- Backend: 3001
- Base de donnees studio: 4983
game/- Logique jeu Quoridor et gestion etatsai/- Systeme intelligence artificielleauth/- Authentification utilisateurssocket/- Gestion websocketsdb/- Schema base donnees et migrations
pages/- Pages principales applicationcomponents/- Composants React reutilisablescontexts/- Contextes React (auth, game, etc.)services/- Appels API et logique metierhooks/- Hooks React personnalises
L'application est containerisee et prete pour deploiement sur toute plateforme supportant Docker.