devel | ||
middlewares | ||
modules | ||
public | ||
sharedViews | ||
utils | ||
.gitmodules | ||
license | ||
make.sh | ||
makeQminingPage.sh | ||
modules.json | ||
package.json | ||
README.md | ||
server.js | ||
serverStats.sh |
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 |
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 |
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