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
- Nacisnąć
- 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 zDEFAULT_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.