adatkonzisztencia leirasa

This commit is contained in:
2025-11-04 17:36:03 +01:00
parent 1af7bdc3f0
commit 63533c0313
2 changed files with 846 additions and 0 deletions
+96
View File
@@ -0,0 +1,96 @@
# ⚡ Gyors Összefoglaló - Felesleges Adatok Tisztítás
## 🎯 Mi a probléma?
A frontend **10 felesleges mezőt** küld a backendnek minden kártya mentésekor.
## 📊 Számok
- **Felesleges deck mezők:** 1 db (`description`)
- **Felesleges kártya mezők:** 9 db
- **Payload csökkenés:** ~32-60%
- **Implementációs idő:** ~3-4 óra
## ✅ Használt mezők (BACKEND)
```javascript
{
name: "Pakli neve",
type: 2, // 0=LUCK, 1=JOKER, 2=QUESTION
ctype: 1, // 0=PUBLIC, 1=PRIVATE, 2=ORGANIZATION
cards: [
{
text: "Kérdés szövege",
type: 0, // CardType enum (0-4)
answer: "..." // TÍPUS-SPECIFIKUS formátum!
}
]
}
```
## ❌ Felesleges mezők (TÖRLENDŐ)
### Deck:
- `description` - nincs a backend sémában
### Kártya:
- `id` (frontend generált) - backend UUID-t használ
- `question` - duplikáció (`text` használandó)
- `statement` - duplikáció (`text` használandó)
- `options` - `answer` array-ben kell lennie
- `correctAnswer` - `answer` array-ben kell lennie
- `leftItems`, `rightItems`, `correctPairs` - `answer` array-ben kell lennie
- `acceptedAnswers` - `answer` array-ként kell lennie
- `hint` - nincs implementálva
## 🔄 Helyes answer formátumok
| Típus | answer formátum |
|-------|----------------|
| QUIZ (0) | `[{answer: "A", text: "...", correct: true}, ...]` |
| PAIRING (1) | `[{left: "...", right: "..."}, ...]` |
| OWN_ANSWER (2) | `["answer1", "answer2", ...]` |
| TRUE_FALSE (3) | `true` vagy `false` |
| CLOSER (4) | `{correct: 123, percent: 10}` |
## 🛠️ Következő lépések
1. ✅ Olvasd el: `FRONTEND_TO_BACKEND_DATA_CLEANUP.md`
2. 🔧 Implementáld: `cardBackendConverter.js` utility
3. 🔄 Módosítsd: `DeckCreator.jsx` mentés logikát
4. ✅ Teszteld: minden kártyatípust
## 📁 Kapcsolódó fájlok
- **Részletes dokumentáció:** `FRONTEND_TO_BACKEND_DATA_CLEANUP.md`
- **Módosítandó frontend:** `src/pages/DeckCreator/DeckCreator.jsx`
- **Backend referencia:** `SerpentRace_Backend/src/Application/Services/CardProcessingService.ts`
---
**Gyors példa:**
```javascript
// ❌ ROSSZ (jelenleg)
{
text: "Kérdés",
question: "Kérdés", // Duplikáció
options: ["A", "B", "C"], // Felesleges
correctAnswer: 0 // Felesleges
}
// ✅ JÓ (célállapot)
{
text: "Kérdés",
type: 0,
answer: [
{answer: "A", text: "A", correct: true},
{answer: "B", text: "B", correct: false},
{answer: "C", text: "C", correct: false}
]
}
```
---
📖 **Teljes dokumentáció:** Lásd `FRONTEND_TO_BACKEND_DATA_CLEANUP.md`