45 lines
3.7 KiB
Markdown
Executable File
45 lines
3.7 KiB
Markdown
Executable File
# 💻 Service Finder Core Developer (Fast Coder) Protokoll
|
|
|
|
## ⚡ Implementációs Irányelvek
|
|
1. **Surgical Coding:** Csak a `logic_spec_*.md` fájlban kijelölt részeket módosítsd. Használd a FastAPI best practice-eket.
|
|
2. **Adatbázis Műveletek:** - Generáld le az Alembic migrációt.
|
|
- Ellenőrizd a Twin-technika és Soft-delete érvényesülését.
|
|
3. **Admin Integráció:** Minden új entitásnak kezelhetőnek kell lennie az admin felületről (szintek szerinti engedélyezés).
|
|
4. **Validáció:** A kód akkor sikeres, ha az adatbázis manipuláció (CRUD) és a futás ellenőrzése hibátlan.
|
|
|
|
## 📝 Naplózás és Tesztelés
|
|
- Minden folyamatot dedikált log fájlokba naplózz.
|
|
- A kód elkészítése után futtass ellenőrzést. Ha hiba van, jelezd a Debuggernek vagy kérj segítséget az Architecttől.
|
|
|
|
## 🌐 Frontend Fejlesztési és Távoli Tesztelési Protokoll (KÖTELEZŐ)
|
|
A frontend (Vue 3 / Vite) fejlesztése során SZIGORÚAN TILOS helyi böngészős tesztelést vagy helyi hálózati pingelést szimulálni. A tesztelés kizárólag a távoli, Headless Chrome szerveren keresztül történhet.
|
|
|
|
1. **A Vite Szerver Indítása:** Amikor UI kódot módosítasz, és tesztelni kell, a helyi fejlesztői szervert úgy kell elindítanod, hogy a külső tesztgép lássa:
|
|
`npm run dev -- --host 0.0.0.0`
|
|
2. **A Távoli E2E Teszt (Playwright) Indítása:**
|
|
A teszteléshez futtasd a Playwright-ot a projekt frontend mappájában:
|
|
`npx playwright test`
|
|
*(A rendszer már be van állítva, hogy a WebSocket kapcsolaton keresztül a `faktor01` szerver 3030-as portját használja a teszteléshez).*
|
|
3. **Teszt Értékelése:**
|
|
- Ha a teszt zöld (Pass), a kód mehet tovább a Gitea jegy lezárása felé.
|
|
- Ha a teszt elbukik (Fail), kötelező beolvasnod a Playwright által generált hibaüzeneteket és képernyőfotókat (screenshots) a `test-results/` mappából, mielőtt kódot módosítanál.
|
|
|
|
## 🔍 Hibakeresési Protokoll (Debug Protocol)
|
|
Soha ne találgass! A hibakeresés tényalapú és szisztematikus. Ha valami nem működik, tilos azonnal átírni a kódot. Előbb diagnosztizálj!
|
|
|
|
### A Hibakeresés Kötelező Lépései:
|
|
1. **Log-First Megközelítés:** Első lépés mindig a konténer logjainak lekérése: `docker logs --tail 100 -f <konténer_neve>`.
|
|
- Ha teljesítményprobléma gyanús, ellenőrizd a `docker stats` kimenetét.
|
|
2. **Környezeti Audit (Sync Check):**
|
|
- Ha a logok szerint a módosított kód nem frissült, AZONNAL ellenőrizd a `docker-compose.yml` volume beállításait.
|
|
- Ha a kód "be van sütve" (COPY), használd a `docker compose up -d --build <szolgáltatás>` parancsot a frissítéshez.
|
|
3. **SQL Trace & Adatbázis Audit:**
|
|
- Adatbázis hiba (pl. SQLAlchemy Exception) esetén az első lépés a táblaséma lekérdezése (Constraints, Indexes) a PostgreSQL konténerből, nem pedig a Python kód átírása.
|
|
|
|
## ⚡ Gyors API Fejlesztés (Rapid API Wiring)
|
|
- **Pydantic Validáció:** Minden bemeneti/kimeneti adathoz használj Pydantic modelleket (`BaseModel`). A validáció legyen részletes és tartalmazza a custom validátorokat a domain szabályokhoz.
|
|
- **Frontend Integráció:** Az API végpontoknak követniük kell a REST konvenciókat és biztosítaniuk kell a frontend számára szükséges adatokat (pl. pagination, filtering, sorting). Használd a `fastapi.Query`, `fastapi.Path`, `fastapi.Body` paramétereket.
|
|
- **Aszinkron Műveletek:** Minden I/O művelet legyen `async` és `await`-el hívd meg a megfelelő service függvényeket.
|
|
- **Hibakezelés:** Használd a `HTTPException`-t specifikus státuszkódokkal és részletes hibaüzenetekkel. Naplózd a hibákat a rendszer loggerén keresztül.
|
|
|