mrfrys-node-server/devel
2021-02-24 17:25:11 +01:00
..
tests Moved extra modules, qmining redirect minor fixes 2021-02-24 17:25:11 +01:00
emptyData.json Fixed added questions beeing empty arrays, removed some consolelogs 2020-10-14 13:29:10 +02:00
readme.md Updated devel readme 2020-04-13 11:38:59 +02:00

Setup

Linux

./make.sh

Windows

Install linux

just kidding, windowson még sosem próbáltam, ha valaki rájön ott hogy működik, akkor az jól jönne, ty.

A make.sh script futtatása minden eddigi szerver által használt/generált adatot felülír!

Futtatás

Szükséges könyvtár struktúrát és egyéb fájlokat automatikusan létrehozza a make.sh script

Majd:

npm run dev vagy npm start

Környezeti változók

  • NS_SQL_DEBUG_LOG

    Ha true, akkor minden SQL utasítás ki lesz írva a konzolra

  • NS_LOGLEVEL

    Egy szám lehet, ami minél nagyobb annál részletesebben történik a logolás konzolra. Jelenleg ez ilyen 1-4 közötti skálán mozog.

  • NS_DEVEL

    'Devel' ként futtatja a szervert. Jelenleg ez azt jelenti, hogy pár helyen https helyett http-re redirectel.

Adatbázis előkészítése

A szerver egy felhasználókat, session-öket és ehhez tartozó segéd táblákat tartalmazó adatbázist használ. Az adatbázis struktúrát a modules/api/apiDBStruct.json tartalmazza, és az adatbázis módosításához szükséges függvények az utils/dbtools.js fájlban vannak megvalósítva. Így nem kell SQL lekérdezéseket írni, csak ezeket meghívni.

A make.sh script automatikusan létrehoz egy üres adatbázist a utils/dbSetup.js segítségével. Később ezt manuálisan futtatva alaphelyzetbe lehet állítani az adatbázist. Ha létezik egy utils/ids fájl, ami sorokban felhasználó kliens ID-kat tartalmaz, akkor a utils/dbSetup.js automatikusan létrehoz ezek alapján felhasználókat.

Hogy az API és a többi modul tudjon kommunikálni:

Ezt a rész csak nagyon kevés esetben kell megcsinálni, ajánlott kihagyni! Ennélkül is működik lokálisan az API és a usercript!

  1. Ezt a pár sort add hozzá a /etc/hosts fájlhoz:

    127.0.0.1   api.frylabs.net
    127.0.0.1   qmining.frylabs.net
    

    Figyelj rá, hogy az IP cím és az url közötti spacing az pontosan 1 tab!

    Firefox nem mindig használja a hosts filet! Ennélkül a qmining modul nem bír kommunikálni az api-val, ahonnan szedi a kérdéseket, motd-t, felhasználó kérdéseket és ilyesmiket.

  2. Ezután a server.js-ben a portot írd át 80-ra és superuserként kell indítani a szervert

  3. Ezután a böngészőben a qmining.frylabs.net-en a gépen futó szerver lesz elérhető

    A frylabs.net-es url-ek helyett lehet mást is használni, de néhány helyen előfordulhat hogy be van még égetve, ezért ezek ajánlottak

  4. Ha végeztél ne felejtsd el kitörölni a hosts fájlból a bemásolt sorokat, mert annélkül nem lesz elérhető az eredeti szerver!

stats mappa

logs

Szuper részletes log, minden requestről, ajánlatos egy tail -f stats/logs-al nézni mi történik

msgs

A feedback oldalra írt üzenetek ebbe mentődnek

stats

JSON file, kulcsok az url-ek, az értékek pedig hogy hányszor lettek lekérve

vstats

Ugyanaz mint a stats file, csak napokba rendezve

idstats

Cliens ID összes statisztika

idvstats

Cliens ID összes statisztika napokba rendezve

recdata

Az az adat, amit a szerver az /isadding végpontra kap

dataEdits

Néhány fontos log amit az api generál mikor a felhasználók a dataEditor modult használják