Files
service-finder/docs/V02/13_Roadmap_Testing_Pitfalls_2.0.md

25 lines
2.1 KiB
Markdown
Executable File

# 13. Roadmap, Testing & Developer Knowledge Base (v2.0)
Ez a dokumentum rögzíti a projekt jövőbeni irányait, a minőségbiztosítási folyamatokat és a fejlesztés során azonosított kritikus hibalehetőségeket (Pitfalls).
## 13.1 Stratégiai Roadmap (Azonnali prioritások)
A rendszer stabilitása után az alábbi modulok fejlesztése élvez elsőbbséget:
1. **Intelligens Kereső API (Fuzzy Search):** A `synonyms` mező indexelése PostgreSQL GIN indexekkel a "Google-szerű" találati pontosságért.
2. **Média Kezelés & MinIO:** Automata bot fejlesztése gyári járműfotók bányászatára és tárolására.
3. **Robot 4 (Service Hunter):** A dúsított `specifications` adatok (olaj, gyertya) alapján szervizajánlatok generálása.
## 13.2 Technikai Adósság (Tech Debt)
- **JSONB Migráció:** A `JSON` típusú mezők (synonyms, specifications) átállítása `JSONB`-re a gyorsabb szűrés és indexelés érdekében.
- **N/A Kódok Tisztítása:** Manuális felülvizsgálati felület kialakítása a robot által generált `N/A-{id}` kódok valódi gyári kódokra cseréléséhez.
- **AI Regex Parsing:** Amint a Gemini API engedi a Search + Controlled JSON használatát, a törékeny Regex tisztítást natív megoldásra kell cserélni.
## 13.3 Tesztelési Protokoll és Telepítés
- **Automatizált tesztek:** Minden új végpontnál kötelező a Pydantic sémák validációja és az aszinkron adatbázis-kapcsolat ellenőrzése.
- **CI/CD:** A Docker Compose V2 használata kötelező a ContainerConfig hibák elkerülésére.
## 13.4 Ismert Buktatók (Developer Pitfalls)
A fejlesztés során azonosított, kerülendő megoldások:
- **Postgres Enum:** A `userrole` típus kisbetűérzékeny. A Python kódból érkező értékeket (pl. `User`) kényszerítve kisbetűvel kell rögzíteni.
- **SQLAlchemy Async:** Körkörös importok elkerülése érdekében a modellek közötti kapcsolatokat (relationship) string-alapú hivatkozással kell definiálni.
- **Database URL:** Alembic migrációkor ellenőrizni kell, hogy az `.env` fájl beolvasása sikeres volt-e, különben "Empty database URL" hiba lép fel.