Combat tracker per Dungeons and Dragons (D&D) 5th Edition
L’app ufficiale Improved Initiative vive a https://www.improved-initiative.com
Sviluppo locale
Requisiti
- Node.js (v12+)
Setup
- Clona il repo in una cartella sul tuo computer
- Apri la cartella clonata in un editor di codice come Visual Studio Code
- Apri una finestra del terminale (Powershell è l’applicazione terminale raccomandata per questo progetto)
- Esegui i seguenti comandi nella finestra del terminale per costruire il codice dell’ambiente dev:
npm installnpx grunt
- Per far funzionare il server dev, puoi o:
- Premere
F5
in Visual Studio Code o - In una nuova finestra di terminale eseguire
npm run start
- Premere
- Una volta che il server è in esecuzione, visita http://localhost in un browser web per visualizzare una versione di sviluppo dell’interfaccia utente che risponde alle tue modifiche al codice.
- Ogni volta che fai un cambiamento, aspetta che finisca di compilare e ricarica manualmente il tuo browser.
Lo sviluppo di Improved Initiative è supportato attraverso Patreon.
Per saperne di più su come contribuire al codice di Improved Initiative, fai riferimento a CONTRIBUIRE.md.
Linting
Improved Initiative usa Eslint con prettier per fare il lint dei file di codice.
Il linting avviene automaticamente al commit, ma puoi anche eseguirlo manualmente tramite: npm run lint
.
Impostazioni App
Puoi configurare la tua istanza di Improved Initiative con queste impostazioni. Tutte sono opzionali, la funzionalità di base dovrebbe funzionare se non ne specifichi nessuna.
-
PORT
– Di default su 80 -
NODE_ENV
– Imposta su “produzione” per soddisfare react, imposta su “sviluppo” per disabilitare il caching della vista html. -
BASE_URL
– Usato negli URL assoluti sul lato client. Ritorna agli URL relativi se non disponibili. Questo è l’URL canonico per il callback di Patreon e il localStorage del browser. -
SESSION_SECRET
– Usato per mantenere la continuità della sessione attraverso i riavvii dell’app o altro. Passato a express-session. -
DEFAULT_ACCOUNT_LEVEL
– Impostato su “accountsync” o “epicinitiative” per concedere ricompense a tutti gli utenti. Utile se non hai un DB. -
DEFAULT_PATREON_ID
– Imposta l’id dell’utente Patreon fittizio quando viene eseguito conDEFAULT_ACCOUNT_LEVEL
impostato. -
DB_CONNECTION_STRING
– Fornisci una stringa di connessione DB per la sessione e la memorizzazione dell’account utente. Altrimenti verrà utilizzato il DB Mongo in memoria, che viene cancellato al riavvio dell’app. -
METRICS_DB_CONNECTION_STRING
– Fornire una stringa di connessione DB su cui scrivere le metriche. -
PATREON_URL
,PATREON_CLIENT_ID
,PATREON_CLIENT_SECRET
– Configurazione per l’integrazione di Patreon
Docker
Eseguire Improved Initiative in Docker è possibile, ma completamente opzionale e attualmente sperimentale. Procedere con cautela e, in caso di dubbio, fare riferimento alla documentazione di Docker.
Costruire l’immagine Docker
Per costruire l’immagine docker con una build di sviluppo, eseguire:
docker build -t improved-initiative:latest .
Per costruire l’immagine con una build di produzione, eseguire:
docker build --build-arg NODE_ENV=production -t improved-initiative:prod .
Eseguire l’applicazione in un contenitore Docker
Per avviare l’applicazione nel contenitore, eseguire:
docker run -p80:80 --name improved-initiative improved-initiative:latest
Oppure, per eseguire la build di produzione:
docker run -p80:80 --name improved-initiative improved-initiative:prod
Fermare e rimuovere il contenitore
Assumendo che tu abbia avviato il contenitore con il nome improved-initiative
come mostrato sopra, i seguenti comandi fermeranno il contenitore e poi lo rimuoveranno:
docker stop improved-initiative
docker rm improved-initiative
Licenza
L’applicazione Improved Initiative è resa disponibile sotto licenza MIT.