API szerver forráskódja a Koller-hez.
Az API dokumentálását az API.md fájlban lehet megtalálni.
A közreműködéssel(contributing) kapcsolatos információk a CONTRIBUTING.md fájlban találhatóak.
A szerver architektúrájára vonatkozó információk pedig az ARCHITECTURE.md dokumentumban lelhetők fel.
A futtatáshoz először klónozzuk le ezt a repository-t.
Ez megtehető grafikus felülettel rendelkező programmal (mint például Github Desktop), vagy paranccsorban (azonban ha a repository privát, Personal Access Token-nel kell azonosítani magunk).
Ezután le szükséges tölteni a Node.js-t, illetve csomaggkezeléshez az npm (Node Package Manager) segédprogramot mellé.
Az API szerver a Node.js 18.13.0-ás verziójában lett fejlesztve és tesztelve, az újabb verziók nagy eséllyel nem okoznak gondot. Visszamenőleg is képes futni, de mindenképpen ajánlott Node.js v16-nál újabbat használni.
Amennyiben sikerült a két program telepítése, le szükséges tölteni az API szerver függőségeit. Ezt megtehetjük manuálisan, egyesével, de célszerűbb ha a klónozott mappában parancssorból futtatjuk az npm install
parancsot.
Ezzel sikerült az API szervert telepíteni megfelelő módon. Ugyanakkor szükséges adatbázist is felállítani és konfigurálni, amihez a segítséget, a szükséges sémát és dummy adatokat a Koller-Database repositoryban lehet megtalálni.
Ha hiba nélkül sikerült a telepítés, és az adatbázis is korrekt módon be lett konfigurálva, akkor lehetséges a futtatás.
A szervert legegyszerűbb módon node index.js
paranccsal lehet futtatni, azonban ilyenkor clusterelés nélkül, egy core futtatja a szervert. Ez nem célszerű produkció során, ugyanis a szerver addig nem fogad más kérést, amíg egy előző feldolgozás alatt áll.
Ekkor a leállítását a szervernek Ctrl+C billentyűkombinációval tehetjük meg, ha a parancssoron van a fókusz.
Clusterelés pm2 csomaggal megoldható, ami előzőleg le lett töltve.
Néhány fontosabb parancs clusterelésnél1:
- program indítása:
npm start
vagypm2 start index.js -i max
- program leállítása:
npm stop
vagypm2 stop index.js
- cluster felügyelete:
pm2 monit
- logok megtekintése:
pm2 logs
A futtatáshoz előfordulhat, hogy szükséges rendszergazdai jogosultság, ebben az esetben az operációs rendszerrel kapcsolatos oldalak tudnak segítséget nyújtani. Ilyen esetben a pm2-t is rendszergazdai jogosultsággal kell futtatni.
Footnotes
-
Amennyiben pm2-t parancsként szeretnénk használni, szükséges globálisan installálni:
npm install pm2 -g
↩