mrfrys-node-server/testingTools/readme.md
2023-03-28 19:53:14 +02:00

109 lines
3.2 KiB
Markdown

# 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