frontend kínlódás

This commit is contained in:
Roo
2026-03-31 06:20:43 +00:00
parent 2508ae7452
commit c7cbe60976
46 changed files with 6091 additions and 136 deletions

View File

@@ -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