frontend kínlódás
This commit is contained in:
@@ -241,4 +241,52 @@ A felhasználó mobil eszközről (app.servicefinder.hu domain) "Failed to fetch
|
||||
#### Technikai részletek:
|
||||
- A probléma oka: A frontend konténerben a `VITE_API_BASE_URL` változó abszolút URL-t tartalmazott, ami mobil eszközökön cross-origin kéréseket eredményezett
|
||||
- A megoldás: Relatív URL (`/api/v1`) használata, amely a proxy (nginx) által a megfelelő backend szolgáltatáshoz irányul
|
||||
- A "|| 1" fallback-ok eltávolítása kritikus volt a multi-tenant architektúra integritásának megőrzéséhez
|
||||
- A "|| 1" fallback-ok eltávolítása kritikus volt a multi-tenant architektúra integritásának megőrzéséhez
|
||||
|
||||
## Digital Twin & Asset Refactor: "Thick Digital Twin" Architecture
|
||||
|
||||
**Dátum:** 2026-03-30
|
||||
**Státusz:** Kész ✅
|
||||
**Kapcsolódó fájlok:** `backend/app/models/vehicle/asset.py`, `docs/v02/99_Adattarolás.md`
|
||||
|
||||
### Technikai Összefoglaló
|
||||
|
||||
A "thin" Asset modellből "Thick Digital Twin" architektúrára való átállás sikeresen implementálva. A refaktor célja, hogy minden technikai, fizikai és felszerelési részletet tároljunk minden egyedi járműhöz, miközben megőrizzük a változások történetét.
|
||||
|
||||
#### Főbb Implementációk:
|
||||
|
||||
1. **Asset modell bővítése** (`backend/app/models/vehicle/asset.py`):
|
||||
- **Azonosítás**: id, vin, license_plate, catalog_id (meglévő)
|
||||
- **Osztályozás**: vehicle_class (VehicleClassEnum), brand, model, trim_level
|
||||
- **Műszaki specifikációk**: fuel_type, engine_capacity, power_kw, torque_nm, cylinder_layout, transmission_type, drive_type, euro_classification
|
||||
- **Fizikai méretek**: curb_weight, max_weight, cargo_volume_x, cargo_volume_y, door_count, seat_count
|
||||
- **Felszereltség**: roof_type (RoofTypeEnum), audio_system_type, individual_equipment (JSONB)
|
||||
- **Állapot**: current_mileage, condition_score, status (meglévő)
|
||||
|
||||
2. **Digitális Szervizkönyv (AssetEvent)**:
|
||||
- Bővítve a Digital Service Book logikához
|
||||
- Új mezők: user_id, organization_id (szolgáltató), odometer_reading, description, cost_id (opcionális AssetCost kapcsolat)
|
||||
- Eseménytípusok: SERVICE, REPAIR, ACCIDENT, INSPECTION, TIRE_CHANGE, MAINTENANCE, UPGRADE, RECALL
|
||||
|
||||
3. **Adatbázis migráció**:
|
||||
- Sync engine sikeresen futtatva: `docker exec sf_api python -m app.scripts.sync_engine`
|
||||
- 28 új oszlop hozzáadva a `vehicle.assets` táblához
|
||||
- 8 új oszlop hozzáadva a `vehicle.asset_events` táblához
|
||||
- Visszafelé kompatibilitás biztosítva: minden új mező Optional
|
||||
|
||||
4. **Enum definíciók**:
|
||||
- `VehicleClassEnum`: 10 járműosztály (személy, motorkerékpár, kishaszon, haszon, munkagép, stb.)
|
||||
- `RoofTypeEnum`: 12 tetőtípus (lemeztető, vászontető, nyitható keménytető, panorámatető, stb.)
|
||||
- `AssetEventTypeEnum`: 8 eseménytípus a Digitális Szervizkönyvhöz
|
||||
|
||||
#### Eredmény:
|
||||
- **Teljes körű Digital Twin adatmodell** kész a 99_Adattarolás.md specifikáció alapján
|
||||
- **Visszafelé kompatibilis migráció** - meglévő adatok sértetlenek maradnak
|
||||
- **Szinkronizált adatbázis séma** - minden új mező elérhető a PostgreSQL-ben
|
||||
- **Bővíthető architektúra** - a JSONB mezők (individual_equipment) lehetővé teszik dinamikus felszerelések tárolását
|
||||
|
||||
#### Technikai részletek:
|
||||
- A refaktor követi a "Surgical Coding" elvet: csak a szükséges módosítások, minimális rizikó
|
||||
- Az új mezők Optional típusúak, így a meglévő rekordok automatikusan NULL értékkel rendelkeznek
|
||||
- A sync engine 969 elem ellenőrzéséből 28 javítást hajtott végre (3% változás)
|
||||
- A profile_completion_percentage számítás frissítve, hogy figyelembe vegye az új brand és model mezőket
|
||||
@@ -27,6 +27,6 @@ Mielőtt egy feladatot (Gitea issue/kártya) "Kész"-nek nyilvánítasz a felhas
|
||||
- **Docker Compose V2:** Mindig a `docker compose` (szóközzel) parancsot használd, SOHA ne a kötőjeles `docker-compose`-ot. Ez a projekt Docker Compose V2-t használ.
|
||||
- **Színséma:** Sárga szöveg (#ffff00) TILOS világos háttereken. Használj helyette a #1e3a8a (sötétkék) színt a kiemelésekhez.
|
||||
- **Adatbázis Verifikáció:** Minden adatbázis-módosítás előtt és után futtasd a `sync_engine.py` szkriptet a konténeren belül a séma konzisztencia ellenőrzéséhez:
|
||||
`docker compose exec roo-helper python3 /app/backend/app/scripts/sync_engine.py`
|
||||
`docker compose exec sf_api python3 /app/backend/app/scripts/sync_engine.py`
|
||||
- **Jegy Verifikáció:** Minden Gitea kártya állapotát a `gitea_manager.py` scripttel ellenőrizd (pl. `get <id>`) a műveletek előtt.
|
||||
- **Kötelező 2‑lépéses jármű‑folyamat (Draft → Active):** Minden új járműrekordot először `DRAFT` státuszban kell létrehozni, majd csak explicit aktiválás után vált `ACTIVE` státuszra. Ez a szabály a `data.vehicles` táblára vonatkozik, és a robotoknak is be kell tartaniuk.
|
||||
@@ -1,13 +1,13 @@
|
||||
# ⚡ RENDSZER ADATOK (FIX)
|
||||
- **Gitea API Token:** d7a0142b5c512ec833307447ed5b7ba8c0bdba9a
|
||||
- **Project ID:** (Keresd ki egyszer: `docker exec roo-helper python3 /scripts/gitea_manager.py` parancsal, ha kiírja, írd ide fixen!)
|
||||
- **Project ID:** (Keresd ki egyszer: `docker exec sf_api python3 /scripts/gitea_manager.py` parancsal, ha kiírja, írd ide fixen!)
|
||||
- **Szabály:** TILOS a műveletek szimulálása. Ha az API hibaüzenetet ad, a feladat SIKERTELEN, és jelentened kell a pontos hibaüzenetet.
|
||||
|
||||
# 🗺️ ROO CODE NAVIGÁCIÓS TÉRKÉP
|
||||
- **Munkaterületed (Workspace):** `/opt/docker/dev/service_finder`
|
||||
- **Saját scriptjeid helye:** `.roo/scripts/`
|
||||
- **Futtató környezet:** `roo-helper` konténer
|
||||
- **Futtatási parancs:** `docker exec roo-helper python3 /scripts/[fájlnév].py`
|
||||
- **Futtató környezet:** `sf_api` konténer
|
||||
- **Futtatási parancs:** `docker exec sf_api python3 /scripts/[fájlnév].py`
|
||||
|
||||
## Gitea Fix Adatok:
|
||||
- **Owner:** kincses
|
||||
@@ -15,19 +15,19 @@
|
||||
- **Project:** Master Book 2.0
|
||||
|
||||
. ELÉRHETŐ GITEA PARANCSOK:
|
||||
- LISTÁZÁS: 'docker exec roo-helper python3 /scripts/gitea_manager.py list'
|
||||
- RÉSZLETEK: 'docker exec roo-helper python3 /scripts/gitea_manager.py get <issue_id>'
|
||||
- INDÍTÁS: 'docker exec roo-helper python3 /scripts/gitea_manager.py start <issue_id>'
|
||||
- LEZÁRÁS: 'docker exec roo-helper python3 /scripts/gitea_manager.py finish <issue_id>'
|
||||
- FRISSÍTÉS (ÚJ!): 'docker exec roo-helper python3 /scripts/gitea_manager.py update <issue_id> --title "Új cím" --body "Új leírás"'
|
||||
- LISTÁZÁS: 'docker exec sf_api python3 /scripts/gitea_manager.py list'
|
||||
- RÉSZLETEK: 'docker exec sf_api python3 /scripts/gitea_manager.py get <issue_id>'
|
||||
- INDÍTÁS: 'docker exec sf_api python3 /scripts/gitea_manager.py start <issue_id>'
|
||||
- LEZÁRÁS: 'docker exec sf_api python3 /scripts/gitea_manager.py finish <issue_id>'
|
||||
- FRISSÍTÉS (ÚJ!): 'docker exec sf_api python3 /scripts/gitea_manager.py update <issue_id> --title "Új cím" --body "Új leírás"'
|
||||
|
||||
|
||||
# 🛠️ TERMINÁL HASZNÁLATI SZABÁLYOK (KRITIKUS)
|
||||
1. **Helyi környezet korlátja:** A helyi terminálban NINCS Python, NINCS adatbázis elérés. SOHA ne futtass közvetlen parancsokat (pl. `python ...`, `pip ...`, `pytest ...`).
|
||||
2. **Kötelező prefix:** Minden végrehajtandó parancsot a `docker compose exec roo-helper` előtaggal kell futtatnod.
|
||||
2. **Kötelező prefix:** Minden végrehajtandó parancsot a `docker compose exec sf_api` előtaggal kell futtatnod.
|
||||
3. **Munkakönyvtár kezelése:** Ha a parancsot egy alkönyvtárban kell futtatni, azt a konténeren belül tedd meg.
|
||||
- **Hibás:** `cd backend && python -m app.scripts...`
|
||||
- **Helyes:** `docker compose exec roo-helper /bin/sh -c "cd /app/backend && python3 -m app.scripts.unified_db_audit"`
|
||||
- **Helyes:** `docker compose exec sf_api /bin/sh -c "cd /app/backend && python3 -m app.scripts.unified_db_audit"`
|
||||
|
||||
# CRITICAL DATABASE SYNC RULE:
|
||||
NEVER use alembic upgrade head or try to resolve Alembic migration conflicts manually unless explicitly instructed. The Masterbook 2.0.1 architecture uses a custom synchronization engine.
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
# 🤖 ÉLES MUNKAFOLYAMAT (KÖTELEZŐ)
|
||||
|
||||
A feladataidat szigorúan a `gitea_manager.py` script segítségével kell menedzselned a `roo-helper` konténerben.
|
||||
A feladataidat szigorúan a `gitea_manager.py` script segítségével kell menedzselned a `sf_api` konténerben.
|
||||
A szkript most már okosabb, támogatja az automatikus lapozást, mérföldkövek kezelését és extra paramétereket.
|
||||
|
||||
## 📋 ELÉRHETŐ PARANCSOK
|
||||
|
||||
### 1. Listázás és Információ
|
||||
- **Feladatok listázása:** `docker exec roo-helper python3 /scripts/gitea_manager.py list`
|
||||
- **Lezárt feladatok:** `docker exec roo-helper python3 /scripts/gitea_manager.py list closed`
|
||||
- **Mérföldkövek listázása:** `docker exec roo-helper python3 /scripts/gitea_manager.py ms list`
|
||||
- **Feladat részletei:** `docker exec roo-helper python3 /scripts/gitea_manager.py get <id>`
|
||||
- **Feladatok listázása:** `docker exec sf_api python3 /scripts/gitea_manager.py list`
|
||||
- **Lezárt feladatok:** `docker exec sf_api python3 /scripts/gitea_manager.py list closed`
|
||||
- **Mérföldkövek listázása:** `docker exec sf_api python3 /scripts/gitea_manager.py ms list`
|
||||
- **Feladat részletei:** `docker exec sf_api python3 /scripts/gitea_manager.py get <id>`
|
||||
|
||||
### 2. Mérföldkövek Kezelése
|
||||
- **Új mérföldkő létrehozása:** `docker exec roo-helper python3 /scripts/gitea_manager.py ms create "Mérföldkő Neve" "Leírás" --due YYYY-MM-DD`
|
||||
- **Mérföldkövek listázása:** `docker exec roo-helper python3 /scripts/gitea_manager.py ms list`
|
||||
- **Új mérföldkő létrehozása:** `docker exec sf_api python3 /scripts/gitea_manager.py ms create "Mérföldkő Neve" "Leírás" --due YYYY-MM-DD`
|
||||
- **Mérföldkövek listázása:** `docker exec sf_api python3 /scripts/gitea_manager.py ms list`
|
||||
|
||||
### 3. Feladat Felvétele (Get)
|
||||
Amikor megkapod, hogy dolgozz pl. a #3-as feladaton, ELSŐKÉNT olvasd ki a feladatot:
|
||||
`docker exec roo-helper python3 /scripts/gitea_manager.py get 3`
|
||||
`docker exec sf_api python3 /scripts/gitea_manager.py get 3`
|
||||
Értelmezd a kapott címet, leírást és mérföldkövet.
|
||||
|
||||
### 4. Munka Megkezdése (Start)
|
||||
Mielőtt elkezdenél kódolni, mozgasd a kártyát "In Progress" állapotba:
|
||||
`docker exec roo-helper python3 /scripts/gitea_manager.py start 3`
|
||||
`docker exec sf_api python3 /scripts/gitea_manager.py start 3`
|
||||
|
||||
### 5. Fejlesztés és Dokumentálás
|
||||
- Végezd el a kért kódolási feladatot.
|
||||
@@ -30,20 +30,20 @@ Mielőtt elkezdenél kódolni, mozgasd a kártyát "In Progress" állapotba:
|
||||
|
||||
### 6. Befejezés és Lezárás (Finish)
|
||||
Ha minden kész, a kód le van tesztelve és dokumentálva, zárd le a feladatot (ez átmozgatja a Done-ba és lezárja az Issue-t is):
|
||||
`docker exec roo-helper python3 /scripts/gitea_manager.py finish 3 "Rövid technikai összefoglaló"`
|
||||
`docker exec sf_api python3 /scripts/gitea_manager.py finish 3 "Rövid technikai összefoglaló"`
|
||||
|
||||
### 7. Új Feladatok Létrehozása (Create)
|
||||
Ha auditálást végzel, és hiányzó funkciókat találsz, önállóan hozz létre ToDo kártyákat:
|
||||
|
||||
**Alap parancs:**
|
||||
`docker exec roo-helper python3 /scripts/gitea_manager.py create "Kártya Címe" "Részletes leírás Markdown formátumban"`
|
||||
`docker exec sf_api python3 /scripts/gitea_manager.py create "Kártya Címe" "Részletes leírás Markdown formátumban"`
|
||||
|
||||
**Teljes szintaxis opciókkal:**
|
||||
`docker exec roo-helper python3 /scripts/gitea_manager.py create "Cím" "Leírás" [Mérföldkő] [Címkék...] [--due YYYY-MM-DD] [--assign username]`
|
||||
`docker exec sf_api python3 /scripts/gitea_manager.py create "Cím" "Leírás" [Mérföldkő] [Címkék...] [--due YYYY-MM-DD] [--assign username]`
|
||||
|
||||
**Példák:**
|
||||
- `docker exec roo-helper python3 /scripts/gitea_manager.py create "API végpont hozzáadása" "Új POST /vehicles endpoint..." "DDD Refaktor" "Scope: Backend" "Type: Feature" --due 2026-03-15 --assign kincses`
|
||||
- `docker exec roo-helper python3 /scripts/gitea_manager.py create "Hibajavítás" "Fix SQL injection..." "Scope: Database" "Type: Bug"`
|
||||
- `docker exec sf_api python3 /scripts/gitea_manager.py create "API végpont hozzáadása" "Új POST /vehicles endpoint..." "DDD Refaktor" "Scope: Backend" "Type: Feature" --due 2026-03-15 --assign kincses`
|
||||
- `docker exec sf_api python3 /scripts/gitea_manager.py create "Hibajavítás" "Fix SQL injection..." "Scope: Database" "Type: Bug"`
|
||||
|
||||
**Címke típusok:**
|
||||
- **Státusz:** `Status: To Do`, `Status: In Progress`, `Status: Done`, `Status: Blocked`
|
||||
|
||||
@@ -16,19 +16,19 @@ Minden egyes vizsgált fájlnál vagy modulnál az alábbi lépéseket kell vég
|
||||
|
||||
### 1. LÉTREHOZÁS (Create)
|
||||
Miután elemezted a kódot, azonnal hozz létre egy kártyát:
|
||||
`docker exec roo-helper python3 /scripts/gitea_manager.py create "[CÍM]" "[SABLON_TARTALMA]" "Scope: [IDEILLŐ]" "Type: [IDEILLŐ]"`
|
||||
`docker exec sf_api python3 /scripts/gitea_manager.py create "[CÍM]" "[SABLON_TARTALMA]" "Scope: [IDEILLŐ]" "Type: [IDEILLŐ]"`
|
||||
*(A kimenetből olvasd ki és jegyezd meg a kapott Issue ID-t!)*
|
||||
|
||||
### 2. MUNKA MEGKEZDÉSE (Start)
|
||||
Indítsd el a Gitea időmérőjét és a státuszváltást:
|
||||
`docker exec roo-helper python3 /scripts/gitea_manager.py start [ID]`
|
||||
`docker exec sf_api python3 /scripts/gitea_manager.py start [ID]`
|
||||
|
||||
### 3. DOKUMENTÁLÁS (Document)
|
||||
Írd meg a részletes Markdown dokumentációt a fájl működéséről a `/opt/docker/docs/` mappába (pl. `modul_neve_analysis.md`).
|
||||
|
||||
### 4. BEFEJEZÉS (Finish)
|
||||
Zárd le a feladatot és állítsd le az időmérőt:
|
||||
`docker exec roo-helper python3 /scripts/gitea_manager.py finish [ID]`
|
||||
`docker exec sf_api python3 /scripts/gitea_manager.py finish [ID]`
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user