Readme update

This commit is contained in:
MrFry 2020-01-28 14:26:02 +01:00
parent 05f5e2237d
commit 26af03c7f6

View file

@ -1,15 +1,68 @@
# Question server
# Multifunkcionális Express.js szerver
Install:
## Rövid leírás:
Ez egy Express.js-re épülő node.js szerver, ami egyszerűen kezelhető modul-rendszerrel és különböző alap funkciókkal lett kiegészítve.
Requires node.js.
## Telepítés / Indítás
`npm install` majd `npm start`
Szükséges könyvtár struktúrát és egyéb fájlokat automatikusan létrehoz.
`npm install`
## Eddigi modulok
### qmining
Backend és weboldal a [Moodle/Kmooc teszt megoldó kliens](https://gitlab.com/MrFry/moodle-test-userscript)hez. A `./public` mappában található `data.json` fájlból tölti be az összes kérdést, és szolgálja ki a klienseket. Beállított időnként ebbe menti az új kérdéseket is, és a `./public/backs` mappába másol biztonsági mentéseket. Főoldalán `./public/qa` fájlból jeleníti meg a felhasználók kérdéseit, és az üzemeltető válaszait, amit manuálisan kell szerkeszteni.
then
Fontosabb oldalak:
| név | leírás
| --- | --- |
|/legacy| Összes kérdés/válasz egy oldalon |
|/isAdding| Erre a címre POST-olja a kliens az új kérdéseket |
|/ask | Ezt a címet kéri le paraméterezve a kliens ha kérdésre keres |
`node server.js`
### stuff
Egyszerű fájlböngésző, ami a `./public/files` mappa tartalmát listázza ki böngészőben
Should auto generate needed folder structure
### sio
Egyszerű oldal a szerverre való fájlfeltöltés megkönnyítésére
<a href="https://gitlab.com/MrFry/moodle-test-userscript">Client</a>
### main
Főoldal / minta modul
# Üzemelés
## Új modul létrehozása
Javasol a 'main' modul másolás, és átnevezése a `./modules` mappában, abban szinte minden alapvető funkció benne van. Majd a `./modules.json` fájlba egy új bejegyzést kell létrehozni a többi alapján. Ezt a `./extraModules` fájlban is meg lehet tenni, ami csak azért létezik hogy privát modulokat ne kelljen git-re feltölteni.
A szerver `vhost` csomagot használ, és több aldomainje van, amikre érdemes figyelni
## ./stats mappa
Ebben található az összes statisztika és naplófájl
| név | leírás
| --- | --- |
|./stats/logs | részletes request napló |
|./stats/nlogs | fontosabb request napló |
|./stats/stats | összes lekért oldal JSON |
|./stats/vstats | napokba rendezett összes lekérd oldal JSON |
|./stats/idstats | Összes kérdés hozzáadó kliens egyedi azonosító statisztika JSON |
|./stats/idvstats | Összes kérdés hozzáadó kliens egyedi azonosító napokba rendezve JSON |
## ./utils mappa
Különböző hasznos eszközök
| név | leírás
| --- | --- |
| logger.js | minden naplózást kezel |
| dbcheck.js | paraméterként kapott adatbázist ellenőrzi, hogy van-e a kérdéseknek `.Q` propertyje, ami a régi fajta módszernél volt használatos |
| actions.js | qmining modul beérkező kérdés feldolgozás |
| utils.js | alapvető eszközök, pl fájl beolvasás |
| motd.js | `data.json` és ./public/motd -be írja a paraméterként kapott szöveget |
| ids.js | egyedi felhasználó azonosítókat írja statisztika fájlba |
| dataUpdater.js | régifajta adatbázist, amiben még van `.Q` propertyjű kérdés alakít át |
| changedataversion.js | `data.json`-ban és a ./public/version ban írja át a teszt megoldó kliens aktuális verzióját
| merger.js | Paraméterként kapott adatbázisból törli az egyező bejegyzéseket, és egyesíti egy fájlba
| merge.sh | Biztonsági mentést készít, és egyszerűsíti az adatbázist, majd felülírja az újjal |
| question-classes/classes.js | Összehasonlításhoz és tároláshoz szükséges osztályok |
# Egyéb
Jelenleg sok optimalizálatlan rész található benne, cél ezek kijavítása, szépítése
# Licensz:
GPLv3