Combat tracker for Dungeons and Dragons (D&D) 5th Edition
Die offizielle Improved Initiative App lebt auf https://www.improved-initiative.com
Local Development
Requirements
- Node.js (v12+)
Setup
- Klone das Repo in einen Ordner auf deinem Computer
- Öffne den geklonten Ordner in einem Code-Editor wie Visual Studio Code
- Öffne ein Terminal-Fenster (Powershell ist die empfohlene Terminal-Anwendung für dieses Projekt)
- Führ die folgenden Befehle im Terminal-Fenster aus, um den Code der Entwicklungsumgebung zu erstellen:
npm installnpx grunt
- Um den Dev-Server zum Laufen zu bringen, können Sie entweder:
- Drücken Sie
F5
in Visual Studio Code oder - In einem neuen Terminalfenster führen Sie
npm run start
- Drücken Sie
- Wenn der Server läuft, besuchen Sie http://localhost in einem Webbrowser, um eine Entwicklungsversion der Benutzeroberfläche anzuzeigen, die auf Ihre Codeänderungen reagiert.
- Warten Sie jedes Mal, wenn Sie eine Änderung vornehmen, bis die Kompilierung abgeschlossen ist, und laden Sie dann Ihren Browser manuell neu.
Die Entwicklung von Improved Initiative wird durch Patreon unterstützt.
Um mehr darüber zu erfahren, wie Sie Code zu Improved Initiative beitragen können, lesen Sie CONTRIBUTING.md.
Linting
Verbesserte Initiative verwendet Eslint mit Prettier, um die Codedateien zu linsen.
Linting geschieht automatisch bei der Übergabe, aber man kann es auch manuell ausführen: npm run lint
.
App Settings
Sie können Ihre Instanz von Improved Initiative mit diesen Einstellungen konfigurieren. Alle sind optional, die Grundfunktionalität sollte funktionieren, wenn Sie keine angeben.
-
PORT
– Standardmäßig 80 -
NODE_ENV
– Setzen Sie auf „Produktion“, um React zu erfüllen, setzen Sie auf „Entwicklung“, um das Zwischenspeichern der HTML-Ansicht zu deaktivieren. -
BASE_URL
– Wird in absoluten URLs auf der Client-Seite verwendet. Fällt auf relative URLs zurück, wenn sie nicht verfügbar sind. Dies ist die kanonische URL für Patreon-Callback und Browser localStorage. -
SESSION_SECRET
– Wird verwendet, um die Sitzungskontinuität durch App-Neustarts oder so zu erhalten. Wird an express-session übergeben. -
DEFAULT_ACCOUNT_LEVEL
– Wird auf „accountsync“ oder „epicinitiative“ gesetzt, um Belohnungen für alle Benutzer zu gewähren. Nützlich, wenn du keine DB hast. -
DEFAULT_PATREON_ID
– Setzt die Dummy-Patreon-Benutzerkennung, wennDEFAULT_ACCOUNT_LEVEL
gesetzt ist. -
DB_CONNECTION_STRING
– Gibt eine DB-Verbindungszeichenfolge für die Speicherung von Sitzungen und Benutzerkonten an. Andernfalls wird die Mongo-DB verwendet, die beim Neustart der App gelöscht wird. -
METRICS_DB_CONNECTION_STRING
– Geben Sie eine DB-Verbindungszeichenfolge an, in die Metriken geschrieben werden sollen. -
PATREON_URL
,PATREON_CLIENT_ID
,PATREON_CLIENT_SECRET
– Konfiguration für die Patreon-Integration
Docker
Die Ausführung von Improved Initiative innerhalb von Docker ist möglich, aber völlig optional und derzeit experimentell. Gehen Sie mit Vorsicht vor und lesen Sie im Zweifelsfall die Docker-Dokumentation.
Erstellen des Docker-Images
Um das Docker-Image mit einem Entwicklungs-Build zu erstellen, führen Sie aus:
docker build -t improved-initiative:latest .
Um das Image mit einem Produktions-Build zu erstellen, führen Sie aus:
docker build --build-arg NODE_ENV=production -t improved-initiative:prod .
Ausführen der Anwendung in einem Docker-Container
Um die Anwendung innerhalb des Containers zu starten, führen Sie aus:
docker run -p80:80 --name improved-initiative improved-initiative:latest
Oder, um den Produktions-Build auszuführen:
docker run -p80:80 --name improved-initiative improved-initiative:prod
Anhalten und Entfernen des Containers
Angenommen, Sie haben den Container mit dem Namen improved-initiative
wie oben gezeigt gestartet, werden die folgenden Befehle den Container anhalten und dann entfernen:
docker stop improved-initiative
docker rm improved-initiative
Lizenz
Die Improved Initiative App wird unter der MIT-Lizenz zur Verfügung gestellt.