cynicaloptimist / improved-initiative

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

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.