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
|
||||
Reference in New Issue
Block a user