Microservice de gestion des invocations de monstres avec système de probabilités dynamiques et pattern Saga.
L'API permet d'invoquer des monstres aléatoires avec des probabilités par rang de rareté :
- COMMON (50%) | RARE (30%) | EPIC (15%) | LEGENDARY (5%)
- Probabilités dynamiques : Les taux s'ajustent automatiquement selon les données disponibles
- Pattern Saga : Garantit la cohérence des données avec compensation automatique en cas d'échec
- 3 compétences par monstre : Chaque skill a son propre tirage de rareté
- Replay automatique : Possibilité de rejouer les invocations échouées
📖 Documentation complète : docs/SYSTEME_INVOCATION.md
Ce service se lance exclusivement via le dépôt orchestrateur GatchaApi et son docker-compose.yaml racine (il n'y a plus de docker-compose.yml local dans ce dépôt). Toute la configuration (datasource, URLs des APIs externes, app.auth.enabled) est fournie par l'orchestrateur.
# Depuis la racine du dépôt GatchaApi
make up # toute la stack
make restart-api-invocations # rebuild + restart de ce service uniquementLe profil local pointe sur le PostgreSQL exposé par la stack racine (localhost:5433) et sur les APIs exposées en local (8081/8082/8083) :
./mvnw spring-boot:run -Dspring-boot.run.arguments="--spring.profiles.active=local"# Depuis la racine du dépôt GatchaApi (⚠️ supprime les volumes de toute la stack)
docker compose down -v
docker compose up -d --buildhttp://localhost:8080/swagger-ui/index.html- Ouvre ton navigateur sur http://localhost:5050
- Connecte-toi avec :
- Email : admin@admin.com
- Password : admin
- Une fois connecté, ajoute un serveur :
- Clic droit "Servers" → "Register" → "Server"
- Onglet "General" → Name : api_invocations
- Onglet "Connection" :
- Host : postgres-invocations
- Port : 5432
- Database : api_invocationsdb
- Username : api_invocations
- Password : api_invocations
- Système d'invocation - Probabilités et mécanismes de tirage
- Architecture inter-API - Communication entre microservices
- Pattern Saga - Gestion des transactions distribuées
- Stratégie de tests - Guide de test du projet