[Fázis 6/7] Kvíz tartalom kiszervezése JSON/DB-be nyelvi kulcsokkal #345

Closed
opened 2026-06-30 00:38:33 +02:00 by kincses · 3 comments
Owner

Mérföldkő: Gamification i18n Migráció\nCél: A keménykódolt magyar nyelvű kvíz kérdések, válaszok és magyarázatok kiszervezése a kódból nyelvi fájlba vagy adatbázisba\n\n### 🔗 Függőségek (Dependencies)\n- Bemenet (Mikre támaszkodik): Fázis 3 (i18n helper), Fázis 4 (backend locales)\n- Kimenet (Mik támaszkodnak rá): Fázis 7 (Tesztelés)\n\n### 📝 Elemzés\nA backend/app/api/v1/endpoints/gamification.py L496-517 sorai és L553-557 sorai teljes egészében hardcoded magyar nyelvű kvíz adatokat tartalmaznak (3 kérdés, minden opcióval és magyarázattal).\n\nMegoldási lehetőségek:\n1. Kvíz kérdések kiszervezése JSON fájlba backend/static/quiz/en.json és hu.json\n2. Vagy adatbázis táblába (quiz_questions tábla nyelvi mezőkkel)\n3. Minden kérdéshez: question, options[4], correct_index, explanation\n4. Az API a felhasználó nyelvén adja vissza a kvízt\n5. A backend/static/locales fájlok GAMIFICATION.QUIZ_QUESTIONS szekciójában

**Mérföldkő:** Gamification i18n Migráció\n**Cél:** A keménykódolt magyar nyelvű kvíz kérdések, válaszok és magyarázatok kiszervezése a kódból nyelvi fájlba vagy adatbázisba\n\n### 🔗 Függőségek (Dependencies)\n- **Bemenet (Mikre támaszkodik):** Fázis 3 (i18n helper), Fázis 4 (backend locales)\n- **Kimenet (Mik támaszkodnak rá):** Fázis 7 (Tesztelés)\n\n### 📝 Elemzés\nA backend/app/api/v1/endpoints/gamification.py L496-517 sorai és L553-557 sorai teljes egészében hardcoded magyar nyelvű kvíz adatokat tartalmaznak (3 kérdés, minden opcióval és magyarázattal).\n\nMegoldási lehetőségek:\n1. Kvíz kérdések kiszervezése JSON fájlba backend/static/quiz/en.json és hu.json\n2. Vagy adatbázis táblába (quiz_questions tábla nyelvi mezőkkel)\n3. Minden kérdéshez: question, options[4], correct_index, explanation\n4. Az API a felhasználó nyelvén adja vissza a kvízt\n5. A backend/static/locales fájlok GAMIFICATION.QUIZ_QUESTIONS szekciójában
kincses added the Status: To DoType: Refactor labels 2026-06-30 00:38:33 +02:00
kincses added Status: In Progress and removed Status: To Do labels 2026-06-30 01:57:35 +02:00
kincses started working 2026-06-30 01:57:35 +02:00
Author
Owner

▶️ Munka megkezdve: 2026-06-30 01:57:35

▶️ **Munka megkezdve:** 2026-06-30 01:57:35
kincses added Status: Done and removed Status: In Progress labels 2026-06-30 02:03:09 +02:00
kincses worked for 5 minutes 2026-06-30 02:03:09 +02:00
Author
Owner

Munka befejezve: 2026-06-30 02:03:09

Technikai Összefoglaló:
Fázis 6/7: Kvíz tartalom kiszervezése JSON/DB-be nyelvi kulcsokkal - Megvalósítva. backend/static/quiz/en.json és hu.json létrehozva 3-3 kvíz kérdéssel. backend/app/core/i18n.py bővítve get_quiz_data() és reload_quiz_data() függvényekkel. backend/app/api/v1/endpoints/gamification.py módosítva: GET /quiz/questions és POST /quiz/answer végpontok hardcoded adatai kiváltva get_quiz_data() hívásokkal. Szintaxis és adatbetöltés ellenőrizve: HU 3, EN 3, DE fallback 3 kérdés - mind sikeres.

⏱️ Az idő rögzítve.

✅ **Munka befejezve:** 2026-06-30 02:03:09 **Technikai Összefoglaló:** Fázis 6/7: Kvíz tartalom kiszervezése JSON/DB-be nyelvi kulcsokkal - Megvalósítva. backend/static/quiz/en.json és hu.json létrehozva 3-3 kvíz kérdéssel. backend/app/core/i18n.py bővítve get_quiz_data() és reload_quiz_data() függvényekkel. backend/app/api/v1/endpoints/gamification.py módosítva: GET /quiz/questions és POST /quiz/answer végpontok hardcoded adatai kiváltva get_quiz_data() hívásokkal. Szintaxis és adatbetöltés ellenőrizve: HU 3, EN 3, DE fallback 3 kérdés - mind sikeres. ⏱️ *Az idő rögzítve.*
Author
Owner

#345-ös Gitea kártya sikeresen lezárva

📋 Elvégzett feladatok

Fázis 6/7: Kvíz tartalom kiszervezése JSON/DB-be nyelvi kulcsokkal

🔧 Módosított fájlok

  1. backend/static/quiz/en.json - LÉTREHOZVA

    • 3 angol nyelvű kvíz kérdés (question, options[4], correctAnswer, explanation)
  2. backend/static/quiz/hu.json - LÉTREHOZVA

    • 3 magyar nyelvű kvíz kérdés (question, options[4], correctAnswer, explanation)
  3. backend/app/core/i18n.py - MÓDOSÍTVA

    • get_quiz_data(lang) - Kvíz kérdések betöltése nyelv szerinti JSON fájlokból, locale detekcióval (explicit lang → context locale → "hu" default → EN fallback)
    • reload_quiz_data() - Kvíz cache újratöltés futásidőben
    • _QUIZ_PATHS - Több útvonal támogatása (Docker konténer, host, relatív)
  4. backend/app/api/v1/endpoints/gamification.py - MÓDOSÍTVA

    • GET /quiz/questions (L496-523): Hardcoded magyar kvíz lista → get_quiz_data() hívás
    • POST /quiz/answer (L553-558): Hardcoded quiz_data dictionary → get_quiz_data() alapú lookup

Ellenőrzési eredmények

  • Szintaxis ellenőrzés: Sikeres
  • HU kvíz adatbetöltés: 3 kérdés
  • EN kvíz adatbetöltés: 3 kérdés
  • DE fallback (nincs DE fájl → EN): 3 kérdés
  • .roo/history.md dokumentáció frissítve
  • Gitea #345 lezárva
## ✅ #345-ös Gitea kártya sikeresen lezárva ### 📋 Elvégzett feladatok **Fázis 6/7: Kvíz tartalom kiszervezése JSON/DB-be nyelvi kulcsokkal** #### 🔧 Módosított fájlok 1. **`backend/static/quiz/en.json`** - LÉTREHOZVA - 3 angol nyelvű kvíz kérdés (question, options[4], correctAnswer, explanation) 2. **`backend/static/quiz/hu.json`** - LÉTREHOZVA - 3 magyar nyelvű kvíz kérdés (question, options[4], correctAnswer, explanation) 3. **`backend/app/core/i18n.py`** - MÓDOSÍTVA - `get_quiz_data(lang)` - Kvíz kérdések betöltése nyelv szerinti JSON fájlokból, locale detekcióval (explicit lang → context locale → "hu" default → EN fallback) - `reload_quiz_data()` - Kvíz cache újratöltés futásidőben - `_QUIZ_PATHS` - Több útvonal támogatása (Docker konténer, host, relatív) 4. **`backend/app/api/v1/endpoints/gamification.py`** - MÓDOSÍTVA - `GET /quiz/questions` (L496-523): Hardcoded magyar kvíz lista → `get_quiz_data()` hívás - `POST /quiz/answer` (L553-558): Hardcoded `quiz_data` dictionary → `get_quiz_data()` alapú lookup #### ✅ Ellenőrzési eredmények - Szintaxis ellenőrzés: ✅ Sikeres - HU kvíz adatbetöltés: 3 kérdés ✅ - EN kvíz adatbetöltés: 3 kérdés ✅ - DE fallback (nincs DE fájl → EN): 3 kérdés ✅ - `.roo/history.md` dokumentáció frissítve ✅ - Gitea #345 lezárva ✅
Sign in to join this conversation.