Composant de gestion globale du serveur Efrei Craft. Celui a pour vocation de gérer :
- Les joueurs
- Consultation d'informations
- Dernière connexion
- Première connexion
- Grades
- Gestion des permissions personnelles
- Ajout
- Suppression
- Consultation
- Consultation d'informations
- Les grades
- Les sanctions
- Les jeux
- Jeux disponibles
- Création, modification et suppression de jeux :
- Nom du jeu
- Couleur du jeu
- Description du jeu
- Item du jeu
- File d'attente minimum pour lancer une partie
- Nombre de joueurs maximum par partie
- Nombre de joueurs minimum par partie
- Template de lancement de partie
- Nombre minimum de serveurs pour le jeu
- Nombre maximum de serveurs pour le jeu
- Les serveurs dynamiques
- Possibilité de créer des serveurs dynamiques
- Gestion des templates
- Exécution de commandes
L'idée serait de passer la majorité des fonctionnalités de Servo à ECAPI.
Pour configurer & lancer votre environnement de développement local :
- Docker & Docker Compose doivent être installés (ici)
- Ce repo doit être cloné
.env.local.example
doit être copié et renommé en.env.local
- Les dépendances du repo doivent être installées pour l'IDE (
npm install
)
Une fois ces étapes complétées, l'environnement peut être lancé avec la commande docker-compose up -d
.
Le back-end utilise :
- NodeJS pour le runtime
- Fastify pour le serveur HTTP
- REST pour le mode de communication
- Swagger pour la documentation
- PostgreSQL pour la base de données
- Prisma pour la gestion de la base de données
Il est possible de parler directement à la base de données avec le CLI de PostgreSQL :
docker compose exec db psql -U postgres
Pour interagir avec la librairie Prisma à l'intérieur du conteneur de développement, il faut utiliser la commande suivante :
docker compose exec back npx prisma
Le CLI de Prisma nous permettra d'effectuer des migrations de base de données, de valider le schema etc.
Plus d'informations sur Prisma ici.
Important: La commande npm run prisma:dev:migrate
doit être exécutée à chaque fois que vous voulez mettre à jour le schéma de la base de données. La commande vous créera une migration et l'appliquera à la base de données au déploiement.
Vous pouvez également remplir la BDD avec des données de test en exécutant la commande npm run prisma:dev:seed
.
La techno pour le front-end n'a pas encore été décidée.
L'image de production est construite à partir du Dockerfile de production (Dockerfile.prod
) et est publiée sur le registry Docker registry.efreicraft.fr
.
La composition des services en production est définie dans le fichier docker-compose.prod.yml
.