cynicaloptimist / improved-initiative

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

Den officiella appen Improved Initiative finns på https://www.improved-initiative.com

Local Development

Requirements

  • Node.js (v12+)

Setup

  • Klonera repo till en mapp på din dator
  • Öppna den klonade mappen i en kodredigerare, till exempel Visual Studio Code
  • Öppna ett terminalfönster (Powershell är den rekommenderade terminaltillämpningen för det här projektet)
  • Skjut följande kommandon i terminalfönstret för att bygga upp koden till utvecklingsmiljön:
npm installnpx grunt
  • För att få utvecklingsservern igång kan du antingen:
    • trycka på F5 i Visual Studio Code eller
    • i ett nytt terminalfönster köra npm run start
  • När servern körs kan du besöka http://localhost i en webbläsare för att se en utvecklingsversion av användargränssnittet som reagerar på dina kodändringar.
  • Varje gång du gör en ändring ska du vänta tills kompileringen är klar och sedan manuellt ladda om webbläsaren.

Utvecklingen av Improved Initiative stöds genom Patreon.

För att få veta mer om hur du bidrar med kod till Improved Initiative hänvisar vi till BIDRAGET.md.

Linting

Improved Initiative använder Eslint med prettier för att lintra kodfilerna.

Linting sker automatiskt vid commit, men du kan också köra det manuellt via: npm run lint.

App Settings

Du kan konfigurera din instans av Improved Initiative med dessa inställningar. Alla är valfria, grundläggande funktionalitet bör fungera om du inte anger någon.

  • PORT – Standardvärdet är 80
  • NODE_ENV – Ställ in till ”production” för att uppfylla react, ställ in till ”development” för att inaktivera caching av html-vyer.
  • BASE_URL – Används i absoluta URL:er på klientsidan. Återgår till relativa webbadresser om de inte är tillgängliga. Detta är den kanoniska URL:n för Patreon callback och browser localStorage.
  • SESSION_SECRET – Används för att behålla sessionens kontinuitet genom omstart av appen eller liknande. Överlämnas till express-session.
  • DEFAULT_ACCOUNT_LEVEL – Ställs in på ”accountsync” eller ”epicinitiative” för att bevilja belöningar till alla användare. Användbart om du inte har någon DB.
  • DEFAULT_PATREON_ID – Ställ in dummy Patreon-användar-id när du kör med DEFAULT_ACCOUNT_LEVEL inställd.
  • DB_CONNECTION_STRING – Ange en DB-anslutningssträng för lagring av sessioner och användarkonton. I minnet används Mongo DB annars, som rensas vid omstart av appen.
  • METRICS_DB_CONNECTION_STRING – Ange en DB-anslutningssträng för att skriva mätvärden till.
  • PATREON_URL, PATREON_CLIENT_ID, PATREON_CLIENT_SECRET – Konfigurering för Patreon-integrering

Docker

Körning av Förbättrat initiativ inom Docker är möjlig, men helt frivillig och för närvarande experimentell. Gå fram med försiktighet och i tveksamma fall hänvisar du till dokumentationen för Docker.

Bygga Docker-avbildningen

För att bygga Docker-avbildningen med ett utvecklingsbygge kör du:

docker build -t improved-initiative:latest .

För att bygga avbildningen med ett produktionsbygge kör du:

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

Kör appen i en Docker Container

För att starta applikationen i containern kör du:

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

Och för att köra produktionsbygget:

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

Stoppa och ta bort behållaren

Antagen att du startade behållaren med namnet improved-initiative som visas ovan, kommer följande kommandon att stoppa behållaren och sedan ta bort den:

docker stop improved-initiative

docker rm improved-initiative

Licens

Appen Improved Initiative görs tillgänglig under MIT-licensen.

Lämna ett svar

Din e-postadress kommer inte publiceras.