No description
Find a file
2020-10-05 09:10:00 +02:00
devel Moved submodules and every stuff into seperate folders neatly #4 2020-10-01 14:17:11 +02:00
publicDirs/public Moved some modules again #4 2020-10-01 14:24:39 +02:00
scripts Added some missing folders, changed import paths, fixed stuff with new directory layout 2020-10-01 15:55:24 +02:00
src Added logrotate #7 2020-10-05 09:10:00 +02:00
submodules Prettied some stuff, and moved submodules around again 2020-10-01 14:42:48 +02:00
.eslintrc.js Added logrotate #7 2020-10-05 09:10:00 +02:00
.gitmodules Prettied some stuff, and moved submodules around again 2020-10-01 14:42:48 +02:00
.prettierrc.js Added prettier and eslint 2020-10-01 14:36:52 +02:00
license Handling old data 2020-01-22 17:16:11 +01:00
package-lock.json Added some missing folders, changed import paths, fixed stuff with new directory layout 2020-10-01 15:55:24 +02:00
package.json Added some missing folders, changed import paths, fixed stuff with new directory layout 2020-10-01 15:55:24 +02:00
README.md Readme update, and dbSetup uncommenting code 2020-04-10 15:42:11 +02:00

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