From 184797012092fea3a1851905bf43e9a9cdc6e54d Mon Sep 17 00:00:00 2001 From: mrfry Date: Tue, 28 Mar 2023 20:09:17 +0200 Subject: [PATCH] readme update, setup script update --- README.md | 75 ++--------------------------------------- scripts/setup.sh | 9 +++-- submodules/qmining-page | 2 +- 3 files changed, 8 insertions(+), 78 deletions(-) diff --git a/README.md b/README.md index 8437d8a..e3bef0c 100755 --- a/README.md +++ b/README.md @@ -1,74 +1,5 @@ -# Multifunkcionális Express.js szerver +# Express.js server -## 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. +## Setup -## Telepítés / Indítás - -Bővebben a `devel/readme.md` -ben - -## 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 -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 +Run `./scripts/setup.sh`, then `npm run dev` for development, or `npm run start` for prod diff --git a/scripts/setup.sh b/scripts/setup.sh index 8392c6b..14539b5 100755 --- a/scripts/setup.sh +++ b/scripts/setup.sh @@ -8,7 +8,7 @@ hr() { log() { hr - echo -e "\033[0;32m${@}\033[0m" + echo -e "\033[0;34m${@}\033[0m" hr } @@ -45,8 +45,8 @@ checkFile "$PWD/src/server.ts" checkFile "$PWD/package.json" checkFile "$PWD/package-lock.json" -git pull -git submodule update --init --recursive +git pull || exit +git submodule update --init --recursive || exit log "Making project" @@ -54,7 +54,6 @@ npm install npm audit fix > /dev/null 2> /dev/null npm run export -log "Seting up next.js static stuff..." mkdir "$PWD/nextStatic" # ------------------------------------------------------------------------------------ @@ -100,4 +99,4 @@ fi log "Disabling next telemetry" npx --yes next telemetry disable -log "Done!" +log "Done! development mode: 'npm run dev', prod mode: 'npm run start', tests: 'npm run test'" diff --git a/submodules/qmining-page b/submodules/qmining-page index 7f5c1ae..7558917 160000 --- a/submodules/qmining-page +++ b/submodules/qmining-page @@ -1 +1 @@ -Subproject commit 7f5c1ae7a7a0dd4016bc57f2b26e606e1553c79d +Subproject commit 755891710a291494c244529cd54d59ec99d80079