KollerSystems / Koller-Server

Szerver a Koller-hez.
Other
3 stars 0 forks source link
api-server expressjs javascript knexjs koller nodejs

Static Badge Maintenance CodeFactor Grade GitHub package.json dynamic Dynamic JSON Badge GitHub commit activity

Koller-Server

API 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.

Előkészületek a futtatáshoz

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.

API szerver lokális futtatása teszteléshez

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él[^1]:

[^1]: Amennyiben pm2-t parancsként szeretnénk használni, szükséges globálisan installálni: npm install pm2 -g

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.