cynicaloptimiste / improved-initiative

Traqueur de combat pour Donjons et Dragons (D&D) 5e édition

L’application officielle Improved Initiative vit à https://www.improved-initiative.com

Développement local

Exigences

  • Node.js (v12+)

Configuration

  • Clonez le repo dans un dossier sur votre ordinateur
  • Ouvrez le dossier cloné dans un éditeur de code tel que Visual Studio Code
  • Ouvrez une fenêtre de terminal (Powershell est l’application de terminal recommandée pour ce projet)
  • Exécutez les commandes suivantes dans la fenêtre du terminal pour construire le code de l’environnement de développement :
npm installnpx grunt
  • Pour faire fonctionner le serveur de dev, vous pouvez soit :
    • Appuyer sur F5 dans Visual Studio Code ou
    • Dans une nouvelle fenêtre de terminal, exécutez npm run start
  • Une fois que le serveur est en cours d’exécution, visitez http://localhost dans un navigateur Web pour voir une version de développement de l’interface utilisateur qui répond à vos modifications de code.
  • Chaque fois que vous apportez un changement, attendez qu’il finisse de compiler puis rechargez manuellement votre navigateur.

Le développement d’Improved Initiative est soutenu par Patreon.

Pour en savoir plus sur la façon de contribuer au code d’Improved Initiative, reportez-vous à CONTRIBUTION.md.

Linting

Improved Initiative utilise Eslint avec prettier pour linting les fichiers de code.

Linting se produit automatiquement sur commit, mais vous pouvez également le lancer manuellement via : npm run lint.

Paramètres de l’application

Vous pouvez configurer votre instance d’Initiative améliorée avec ces paramètres. Tous sont facultatifs, les fonctionnalités de base devraient fonctionner si vous n’en spécifiez aucun.

  • PORT – Par défaut, 80
  • NODE_ENV – Définir à « production » pour satisfaire la réactivité, définir à « développement » pour désactiver la mise en cache de la vue html.
  • BASE_URL – Utilisé dans les URL absolues côté client. Retourne aux urls relatives si elles ne sont pas disponibles. C’est l’URL canonique pour le callback Patreon et le localStorage du navigateur.
  • SESSION_SECRET – Utilisé pour garder la continuité de la session à travers les redémarrages de l’app ou autre. Remis à express-session.
  • DEFAULT_ACCOUNT_LEVEL – Défini à « accountsync » ou « epicinitiative » pour accorder des récompenses à tous les utilisateurs. Utile si vous n’avez pas de DB.
  • DEFAULT_PATREON_ID – Définir l’id utilisateur Patreon factice lors de l’exécution avec DEFAULT_ACCOUNT_LEVEL défini.
  • DB_CONNECTION_STRING – Fournir une chaîne de connexion DB pour le stockage des sessions et des comptes utilisateurs. En mémoire Mongo DB sera utilisé autrement, qui est effacé au redémarrage de l’app.
  • METRICS_DB_CONNECTION_STRING – Fournir une chaîne de connexion DB pour écrire des métriques à.
  • PATREON_URL, PATREON_CLIENT_ID, PATREON_CLIENT_SECRET – Configuration pour l’intégration Patreon

Docker

Exécuter Improved Initiative au sein de Docker est possible, mais complètement optionnel et actuellement expérimental. Procédez avec prudence et en cas de doute, reportez-vous à la documentation de Docker.

Construction de l’image Docker

Pour construire l’image Docker avec un build de développement, exécutez :

docker build -t improved-initiative:latest .

Pour construire l’image avec un build de production, exécutez :

docker build --build-arg NODE_ENV=production -t improved-initiative:prod .

Exécuter l’application dans un conteneur Docker

Pour démarrer l’application dans le conteneur, exécutez:

docker run -p80:80 --name improved-initiative improved-initiative:latest

Ou, pour exécuter la construction de production :

docker run -p80:80 --name improved-initiative improved-initiative:prod

Arrêter et supprimer le conteneur

En supposant que vous ayez démarré le conteneur avec le nom improved-initiative comme indiqué ci-dessus, les commandes suivantes arrêteront le conteneur puis le supprimeront :

docker stop improved-initiative

docker rm improved-initiative

Licence

L’application Initiative améliorée est mise à disposition sous la licence MIT.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.