devel | ||
publicDirs/public | ||
scripts | ||
src | ||
submodules | ||
.eslintrc.js | ||
.gitmodules | ||
.prettierrc.js | ||
license | ||
package-lock.json | ||
package.json | ||
README.md |
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
Bővebben a devel/readme.md
-ben
Eddigi modulok
qmining
Backend és weboldal a Moodle/Kmooc teszt megoldó klienshez. 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 |
merge.sh | Biztonsági mentést készít, és egyszerűsíti az adatbázist, majd felülírja az újjal |
classes.js | Összehasonlításhoz és tároláshoz szükséges osztályok |
dbSetup.js | Üres / előre userrel feltöltött adatbázist hoz létre |
dbtools.js | Javascript wrapper gyakran használt SQL utasításokhoz |
rmDuplicates.js | Paraméterként átadott JSON kérdés adatbázisból távolítja el az ugyanolyan kérdéseket |
runSqliteCmds.sh | Paraméterként átadott adatbázison futtatja a második paraméterben található Sqlite parancsokat |
Egyéb
Jelenleg sok optimalizálatlan rész található benne, cél ezek kijavítása, szépítése
Licensz:
GPLv3