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
- trycka på
- 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 medDEFAULT_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.