Skip to content
This repository has been archived by the owner on Sep 26, 2024. It is now read-only.

KollerSystems/Koller-Server-old

Repository files navigation

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

Koller-Server

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.

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él1:

  • program indítása: npm start vagy pm2 start index.js -i max
  • program leállítása: npm stop vagy pm2 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

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