cynicaloptimist / improved-initiative

Combat tracker for Dungeons and Dragons (D&D) 5th Edition

Den officielle Improved Initiative app bor på https://www.improved-initiative.com

Local Development

Requirements

  • Node.js (v12+)

Opsætning

  • Klonér repo’en til en mappe på din computer
  • Åbn den klonede mappe i en kodeeditor såsom Visual Studio Code
  • Åbn et terminalvindue (Powershell er det anbefalede terminalprogram til dette projekt)
  • Kør følgende kommandoer i terminalvinduet for at opbygge koden til dev-miljøet:
npm installnpx grunt
  • For at få dev-serveren til at køre kan du enten:
    • trykke på F5 i Visual Studio Code eller
    • I et nyt terminalvindue køre npm run start
  • Når serveren kører, skal du besøge http://localhost i en webbrowser for at se en udviklingsversion af brugergrænsefladen, der reagerer på dine kodeændringer.
  • Hver gang du foretager en ændring, skal du vente på, at kompileringen er færdig, og derefter manuelt genindlæse din browser.

Udviklingen af Improved Initiative støttes via Patreon.

For at få mere at vide om, hvordan du kan bidrage med kode til Improved Initiative, henvises til BIDRAGE.md.

Linting

Improved Initiative bruger Eslint med prettier til at linte kodefilerne.

Linting sker automatisk ved commit, men du kan også køre det manuelt via: npm run lint.

App Settings

Du kan konfigurere din instans af Improved Initiative med disse indstillinger. Alle er valgfrie, den grundlæggende funktionalitet bør fungere, hvis du ikke angiver nogen.

  • PORT – Standardværdien er 80
  • NODE_ENV – Indstilles til “production” for at opfylde react, indstilles til “development” for at deaktivere html view caching.
  • BASE_URL – Bruges i absolutte URL’er på klientsiden. Falder tilbage til relative url’er, hvis de ikke er tilgængelige. Dette er den kanoniske URL til Patreon callback og browser localStorage.
  • SESSION_SECRET – Bruges til at bevare sessionskontinuitet gennem app genstart eller lignende. Overdrages til express-session.
  • DEFAULT_ACCOUNT_LEVEL – Indstilles til “accountsync” eller “epicinitiative” for at tildele belønninger til alle brugere. Nyttigt, hvis du ikke har nogen DB.
  • DEFAULT_PATREON_ID – Indstil dummy Patreon-brugerid, når du kører med DEFAULT_ACCOUNT_LEVEL indstillet.
  • DB_CONNECTION_STRING – Angiv en DB-forbindelsesstreng til opbevaring af session og brugerkonti. Ellers bruges Mongo DB i hukommelsen, som ryddes ved genstart af appen.
  • METRICS_DB_CONNECTION_STRING – Angiv en DB-forbindelsesstreng til at skrive metrikker til.
  • PATREON_URL, PATREON_CLIENT_ID, PATREON_CLIENT_SECRET – Konfiguration til Patreon-integration

Docker

Kørsel af Improved Initiative inden for Docker er mulig, men helt valgfri og i øjeblikket eksperimentel. Gå frem med forsigtighed, og hvis du er i tvivl, henvises til Docker-dokumentationen.

Opbygning af Docker-aftrykket

For at opbygge Docker-aftrykket med et udviklingsaftryk skal du køre:

docker build -t improved-initiative:latest .

For at opbygge aftrykket med et produktionsaftryk skal du køre:

For at opbygge aftrykket med et produktionsaftryk skal du køre:

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

Kør applikationen i en Docker-container

For at starte applikationen i containeren skal du køre:

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

Og for at køre produktionsbygningen:

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

Og for at køre produktionsbygningen:

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

Stop og fjernelse af containeren

Såfremt du har startet containeren med navnet improved-initiative som vist ovenfor, vil følgende kommandoer stoppe containeren og derefter fjerne den:

docker stop improved-initiative

docker rm improved-initiative

Licens

Applikationen Improved Initiative er stillet til rådighed under MIT-licensen.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.