removed some readmes, user count in p2p info

This commit is contained in:
mrfry 2023-04-04 16:50:03 +02:00
parent 78ea415bb0
commit cbc536483c
4 changed files with 2 additions and 238 deletions

View file

@ -79,6 +79,7 @@ interface RemotePeerInfo {
qminingPageBuildTime?: number
dataEditorBuildTime?: number
scriptVersion?: string
userCount?: number
qdbInfo?: {
questionDbCount: number
subjectCount: number
@ -475,6 +476,7 @@ function setup(data: SubmoduleData): Submodule {
.statFile(paths.dataEditorIndexPath)
?.mtime.getTime()
result.scriptVersion = utils.getScriptVersion()
result.userCount = dbtools.TableInfo(userDB, 'users').dataCount
if (includeQdbInfo) {
const questionDbCount = getQuestionDbs().length

View file

@ -1,85 +0,0 @@
# Contents
Utils mappa tartalom
## merger.js
Törölve lesz
## merge.sh
Törölve lesz
## rmDuplicates.js
Tervezve
Kitörli a két vagy többször szereplő kérdéseket
Params:
1. Elérési út a JSON adatbázishoz
## actions.js
Át lesz nevezve: `questionProcessor.js`
JSON adatbázist betölti, és az új bejövő kérdéseket hozzáadja
Exportált funkciók:
1. ProcessIncomingRequest
2. LoadJSON
3. backupData
## utils.js
Általános eszközök
Exportált funkciók:
1. ReadFile
2. WriteFile
3. writeFileAsync
4. AppendToFile
5. FileExists
6. CreatePath
7. WatchFile
8. ReadDir
## logger.js
Logolást kezeli
Exportált funkciók:
1. GetDateString
2. Log
3. DebugLog
4. GetColor
5. LogReq
6. LogStat
7. Load
8. logHashed
9. hr
## motd.js
Az adatbázis MOTD-ét változtatja meg. Elvileg már nem kell
`node motd.js "new motd"`
## changedataversion.js
Az adatbázis jelenlegi legfrissebb kliens verzióját változtatja meg. Elvileg már nem kell
`node motd.js "new version"`
## ids.js
`./stats/idstats` és `./stats/idvstats` ba írja a egyedi kliens ID statisztikákat
Exportált funkciók:
1. LogId
2. Load

View file

@ -1,109 +0,0 @@
# 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

View file

@ -1,44 +0,0 @@
# Teszt scriptek a API/qmining modulhoz
A `./devel/tests/serverAddress` fájl első sora a tesztelendő szerver címének kell lennie! A szerver
alap címe: `localhost:8080`
# Mappák
## testScripts
Ebben a mappában alap API végpont tesztelő scriptek vannak.
### ask
`ask.sh`: kérdést tesz fel a szervernek, szintaxis:
`./ask.sh 'kérdés' 'tárgy neve'`
vagy
`./ask.sh 'kérdés' 'kérdés adat JSON' 'kérdés data JSON'`
### postTestData
`postTestData.sh`: szervernek elküld JSON adatot amit hozzá akarunk adatni a kérdés adatbázishoz
`./postTestData.sh 'JSON adat'`
vagy (bash-ben):
`./postTestData.sh $(cat 'JSON file elérési út')`
## complexTestScripts
Ebben a mappában komplexebb teszt scriptek vannak, amik az előző API hívásokat kombinálják. A
scripteknek nincsenek paraméterei, és elején pár `echo`-nak el kellene illedelmesen mondania hogy
mit tesztel, és mi az expected eredmény.
## bin
Pár random script amit minden használhat. Pl `hr.sh`: horizontal ruler
## testData
JSON-ok, amiben szervernek küldhető teszt adat van
## rawTestData
Egyéb teszt adat, pl több JSON egy fájlban, meg ilyesmi