cynicaloptimist / improved-initiative

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

Oficjalna aplikacja Improved Initiative żyje pod adresem https://www.improved-initiative.com

Local Development

Wymagania

  • Node.js (v12+)

Konfiguracja

  • Klonuj repo do folderu na swoim komputerze
  • Otwórz sklonowany folder w edytorze kodu, takim jak Visual Studio Code
  • Otwórz okno terminala (Powershell jest zalecaną aplikacją terminala dla tego projektu)
  • Wykonaj następujące polecenia w oknie Terminala, aby zbudować kod środowiska dev:
npm installnpx grunt
  • Aby uruchomić serwer dev, możesz:
    • Nacisnąć F5 w Visual Studio Code lub
    • W nowym oknie terminala uruchomić npm run start
  • Gdy serwer jest już uruchomiony, odwiedź http://localhost w przeglądarce internetowej, aby zobaczyć wersję rozwojową UI, która reaguje na Twoje zmiany w kodzie.
  • Za każdym razem, gdy wprowadzisz zmiany, poczekaj, aż zakończy się kompilacja, a następnie ręcznie przeładuj przeglądarkę.

Rozwój Improved Initiative jest wspierany przez Patreon.

Aby dowiedzieć się więcej o tym, jak wnieść kod do Improved Initiative, zapoznaj się z częścią WKŁAD.md.

Linting

Improved Initiative używa Eslint z prettier do lintowania plików z kodem.

Linting odbywa się automatycznie przy commitach, ale można go również uruchomić ręcznie poprzez: npm run lint.

App Settings

Możesz skonfigurować swoją instancję Improved Initiative za pomocą tych ustawień. Wszystkie są opcjonalne, podstawowa funkcjonalność powinna działać, jeśli nie określisz żadnego z nich.

  • PORT – Domyślnie 80
  • NODE_ENV – Ustaw na „production”, aby spełnić wymagania react, ustaw na „development”, aby wyłączyć buforowanie widoku html.
  • BASE_URL – Używane w bezwzględnych adresach URL po stronie klienta. Spada z powrotem do względnych adresów URL, jeśli nie są dostępne. To jest kanoniczny URL dla Patreon callback i przeglądarki localStorage.
  • SESSION_SECRET – Używany do zachowania ciągłości sesji przez restarty aplikacji lub coś w tym stylu. Przekazane do express-session.
  • DEFAULT_ACCOUNT_LEVEL – Ustawione na „accountsync” lub „epicinitiative”, aby przyznać nagrody wszystkim użytkownikom. Przydatne, jeśli nie masz DB.
  • DEFAULT_PATREON_ID – Ustaw dummy Patreon user id, gdy działa z DEFAULT_ACCOUNT_LEVEL set.
  • DB_CONNECTION_STRING – Podaj ciąg połączenia DB do przechowywania sesji i kont użytkowników. W przeciwnym razie zostanie użyty Mongo DB, który jest czyszczony przy restarcie aplikacji.
  • METRICS_DB_CONNECTION_STRING – Podaj ciąg połączenia DB do zapisu metryk.
  • PATREON_URL, PATREON_CLIENT_ID, PATREON_CLIENT_SECRET – Konfiguracja dla integracji z Patreon

Docker

Uruchamianie Ulepszonej Inicjatywy w Dockerze jest możliwe, ale całkowicie opcjonalne i obecnie eksperymentalne. Postępuj ostrożnie, a w razie wątpliwości zapoznaj się z dokumentacją Dockera.

Budowanie obrazu Dockera

Aby zbudować obraz dockera za pomocą kompilacji deweloperskiej, uruchom:

docker build -t improved-initiative:latest .

Aby zbudować obraz za pomocą kompilacji produkcyjnej, uruchom:

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

Uruchamianie aplikacji w kontenerze Docker

Aby uruchomić aplikację wewnątrz kontenera, uruchom:

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

Albo, aby uruchomić build produkcyjny:

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

Zatrzymywanie i usuwanie kontenera

Zakładając, że uruchomiłeś kontener o nazwie improved-initiative, jak pokazano powyżej, następujące polecenia zatrzymają kontener, a następnie go usuną:

docker stop improved-initiative

docker rm improved-initiative

Licencja

Aplikacja Improved Initiative jest udostępniana na licencji MIT.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.