Aplikace je tvořena třemi samostatnými službami - NasiPolitici (backend, .NET), Frontend (React) a Media-backend (služba poskytující články z médií, Python). Pro lokální prostředí je třeba zprovoznit minimálně backend a frontend.
Následující návod popisuje nutné kroky ke zprovoznění celé aplikace. V jednotlivých adresářích jsou potom samostatná README s detaily pro konkrétní služby.
Pro samotné spuštění aplikace je zapotřebí mít nainstalováno .NET Core Runtime podle používaného operačního systému. Pokud chcete upravovat projekt, tak poté bude zapotřebí si nainstalovat .NET Core SDK podle používaného operačního systému.
Pro instalaci a spuštění frontendu je potřeba mít nainstalovaný Yarn.
Pro spuštění Media je potřeba Python3.
Prvním krokem je naklonování repozitáře:
$ git clone https://github.com/cesko-digital/nasi-politici
Aplikace je ve složce NasiPolitici
a příkazy je třeba pouštět v ní.
Nejprve je třeba pustit build projektu:
$ cd nasi-politici && dotnet publish
Výstup zobrazí cestu, kam byl uložen výsledek buildu. Další postup se liší podle operačního systému.
Ve složce NasiPolitici spustit NasiPolitici.exe
(je potřeba zadat celou cestu, tak jak se zobrazila na výstupu předchozího příkazu).
Ve složce NasiPolitici spustit dotnet NasiPolitici.dll
(je potřeba zadat celou cestu, tak jak se zobrazila na výstupu předchozího příkazu).
V obou případech by se měla objevit informace, že aplikace běží na adrese https://localhost:5001.
Ve složce Frontend je třeba spusti nejdříve yarn install
, který nainstaluje závislosti, pak vytvořit lokální konfiguraci - zkopírovat soubor .env-example
jako .env
a nakonec aplikaci spustit pomocí yarn start
.
Prohlížeč by se měl sám otevřít a zobrazit úvodní stránku.
Služba Media slouží k dohledávání online článků o politicích. Je v adresáři Media-backend
. Není to nutné, ale obecně je lepší si pro vývoj vytvořit virtuální prostředí - virtualenv. Potom je třeba nainstalovat závislosti pomocí pip install -r requirements.txt
. Pak stačí aplikaci spustit příkazem python main.py
.
POZOR: Media ke svému fungování potřebuje token, který není veřejný. Pokud potřebujete vyvíjet něco na této části, ozvěte se na Slacku.