mirror of
https://gitlab.com/MrFry/mrfrys-node-server
synced 2025-04-01 20:24:18 +02:00
71 lines
3.4 KiB
Markdown
Executable file
71 lines
3.4 KiB
Markdown
Executable file
# Multifunkcionális Express.js szerver
|
|
|
|
## 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.
|
|
|
|
## 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.
|
|
|
|
## 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.
|
|
|
|
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
|
|
|
|
### stuff
|
|
Egyszerű fájlböngésző, ami a `./public/files` mappa tartalmát listázza ki böngészőben
|
|
|
|
### sio
|
|
Egyszerű oldal a szerverre való fájlfeltöltés megkönnyítésére
|
|
|
|
### 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
|