97 lines
2.6 KiB
Markdown
97 lines
2.6 KiB
Markdown
# ⚡ 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`
|