cynicaloptimist / improved-initiative

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
  • 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 met DEFAULT_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.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.