Combat tracker voor Dungeons and Dragons (D&D) 5th Edition
De officiële Improved Initiative app staat op https://www.improved-initiative.com
Local Development
Requirements
- Node.js (v12+)
Setup
- Kloon de repo naar een map op uw computer
- Open de gekloonde map in een code-editor zoals Visual Studio Code
- Open een terminalvenster (Powershell is de aanbevolen terminaltoepassing voor dit project)
- Uitvoeren van de volgende opdrachten in het Terminal-venster om de dev-omgeving code te bouwen:
npm installnpx grunt
- Om de dev server draaiende te krijgen, kunt u ofwel:
- Druk op
F5
in Visual Studio Code of - In een nieuw terminal venster voert u
npm run start
- Druk op
- Als de server eenmaal draait, bezoekt u http://localhost in een web browser om een ontwikkelingsversie van de UI te bekijken die reageert op uw code veranderingen.
- Wacht elke keer dat u een wijziging aanbrengt tot het klaar is met compileren en laad dan handmatig uw browser opnieuw.
De ontwikkeling van Improved Initiative wordt ondersteund door Patreon.
Om meer te weten te komen over hoe u code kunt bijdragen aan Improved Initiative, raadpleeg CONTRIBUTING.md.
Linting
Verbeterd Initiatief gebruikt Eslint met prettier om de codebestanden te linten.
Linting gebeurt automatisch bij commit, maar u kunt het ook handmatig uitvoeren via: npm run lint
.
App Settings
U kunt uw instantie van Improved Initiative configureren met deze instellingen. Alle zijn optioneel, basis functionaliteit zou moeten werken als u niets opgeeft.
-
PORT
– Standaard op 80 -
NODE_ENV
– Zet op “productie” om te voldoen aan react, zet op “ontwikkeling” om html view caching uit te schakelen. -
BASE_URL
– Gebruikt in absolute URL’s aan client kant. Valt terug naar relatieve URL’s indien niet beschikbaar. Dit is de canonieke URL voor Patreon callback en browser localStorage. -
SESSION_SECRET
– Gebruikt om sessie continuïteit te behouden door app herstarts of iets dergelijks. Overgedragen aan express-session. -
DEFAULT_ACCOUNT_LEVEL
– Ingesteld op “accountsync” of “epicinitiative” om beloningen toe te kennen aan alle gebruikers. Handig als je geen DB hebt. -
DEFAULT_PATREON_ID
– Stel de dummy Patreon gebruiker-id in wanneer je draait metDEFAULT_ACCOUNT_LEVEL
ingesteld. -
DB_CONNECTION_STRING
– Zorg voor een DB connectiestring voor sessie en gebruikersaccount opslag. In het geheugen wordt anders Mongo DB gebruikt, die wordt gewist bij het herstarten van de app. -
METRICS_DB_CONNECTION_STRING
– Zorg voor een DB-verbindingsstring om metrics naar te schrijven. -
PATREON_URL
,PATREON_CLIENT_ID
,PATREON_CLIENT_SECRET
– Configuratie voor Patreon-integratie
Docker
Het uitvoeren van Improved Initiative binnen Docker is mogelijk, maar volledig optioneel en momenteel experimenteel. Ga voorzichtig te werk en raadpleeg bij twijfel de Docker documentatie.
Bouwen van de Docker-image
Om de docker-image te bouwen met een ontwikkel-build, voert u uit:
docker build -t improved-initiative:latest .
Om de image te bouwen met een productie-build, voert u uit:
docker build --build-arg NODE_ENV=production -t improved-initiative:prod .
De toepassing in een Docker-container uitvoeren
Om de toepassing in de container te starten, voert u uit:
docker run -p80:80 --name improved-initiative improved-initiative:latest
Of, om de productie build uit te voeren:
docker run -p80:80 --name improved-initiative improved-initiative:prod
De container stoppen en verwijderen
Aannemende dat u de container hebt gestart met de naam improved-initiative
zoals hierboven getoond, dan zullen de volgende commando’s de container stoppen en vervolgens verwijderen:
docker stop improved-initiative
docker rm improved-initiative
Licentie
De Improved Initiative app is beschikbaar gesteld onder de MIT-licentie.