feat: stabilize KYC, international assets and multi-currency schema
- Split mother's name in KYC (last/first) - Added mileage_unit and fuel_type to Assets - Expanded AssetCost for international VAT and original currency - Fixed SQLAlchemy IndexError in asset catalog lookup - Added exchange_rate and ratings tables to models
This commit is contained in:
@@ -183,4 +183,17 @@ A rendszer normalizált címkezelést alkalmaz az adatminőség biztosítása é
|
||||
- `data.geo_street_types`: Közterület típusok szótára (út, utca, tér...).
|
||||
|
||||
### 5.2 GIS Adatok
|
||||
Minden telephely koordinátája `GEOGRAPHY(POINT, 4326)` típusként van tárolva, amely lehetővé teszi a PostGIS alapú távolságmérést.
|
||||
Minden telephely koordinátája `GEOGRAPHY(POINT, 4326)` típusként van tárolva, amely lehetővé teszi a PostGIS alapú távolságmérést.
|
||||
|
||||
### 5. Hibrid Címkezelési Modell
|
||||
A rendszer az adatintegritás és a sebesség érdekében hibrid modellt használ.
|
||||
|
||||
- **Centralizált adattárolás**: A `data.addresses` tábla tárolja a normalizált címeket (UUID alapú).
|
||||
- **Öntanuló szótárak**: A `data.geo_postal_codes` és `data.geo_streets` táblák automatikusan bővülnek minden új rögzítésnél.
|
||||
- **Denormalizált GPS adatok**: Az `organization_locations` tábla közvetlenül tárolja a koordinátákat a JOIN-nélküli PostGIS lekérdezésekhez.
|
||||
|
||||
| Tábla | Funkció |
|
||||
| :--- | :--- |
|
||||
| `data.addresses` | Konkrét házszám szintű címek (Hibrid hivatkozási pont). |
|
||||
| `data.geo_postal_codes` | Irányítószám és város kapcsolata (HU/EU támogatás). |
|
||||
| `data.user_stats` | Felhasználói XP, szintek és strike-ok tárolása. |
|
||||
@@ -64,4 +64,15 @@ Az e-mail küldési folyamatokra az alábbi korlátok vonatkoznak:
|
||||
- **Retry Cooldown:** Újraigénylés legkorábban 60 másodperc után lehetséges.
|
||||
- **Óránkénti Limit:** Maximum 3 kérelem / e-mail cím.
|
||||
- **Napi Limit:** Maximum 10 kérelem / e-mail cím.
|
||||
- **Zárolás:** A napi limit túllépése esetén a fiók biztonsági okokból 24 órára zárolja a küldési funkciót az adott címre.
|
||||
- **Zárolás:** A napi limit túllépése esetén a fiók biztonsági okokból 24 órára zárolja a küldési funkciót az adott címre.
|
||||
|
||||
### 4. Geo és Kereső Végpontok
|
||||
|
||||
#### GET `/api/v1/services/suggest-street`
|
||||
- **Cél**: Autocomplete támogatás a frontendnek.
|
||||
- **Paraméterek**: `zip_code` (string), `q` (részleges utcanév).
|
||||
|
||||
#### GET `/api/v1/services/search`
|
||||
- **Cél**: Kétlépcsős szervizkereső.
|
||||
- **Free mód**: Légvonalbeli távolságmérés (Radius).
|
||||
- **Premium mód**: Útvonal-idő alapú kalkuláció és forgalmi becslés.
|
||||
@@ -81,4 +81,10 @@ A fejlődés nem csak dicsőség, hanem gazdasági előny is.
|
||||
* **Level 20:** Egyedi avatar keret + állandó 5% kedvezmény a hirdetési árakból (céges esetén).
|
||||
|
||||
### 6.3 Éves/Havi Szezonok
|
||||
Minden hónap végén az első 3 helyezett extra Kreditet vagy "Voucher"-t kap, amit a partnereinknél (szervizeknél) válthat be.
|
||||
Minden hónap végén az első 3 helyezett extra Kreditet vagy "Voucher"-t kap, amit a partnereinknél (szervizeknél) válthat be.
|
||||
|
||||
### 3. Jutalmazási Szabályok (Social Points)
|
||||
- **Célcsoport**: Kizárólag természetes személyek (`role: user`, `driver`).
|
||||
- **Kizárások**: Szervezetek (Organizations) és Adminisztrátorok nem gyűjtenek XP-t.
|
||||
- **Logika**: Minden `PointsLedger` bejegyzés kötelezően hivatkozik egy `user_id`-ra.
|
||||
- **Mezőnevek**: Adatbázis szinten a pontok az `id`, `user_id`, `points`, `reason` mezőkben tárolódnak.
|
||||
@@ -168,4 +168,45 @@ A fejlesztések rendben tartásához javaslom a **`17_DEVELOPER_NOTES_AND_PITFAL
|
||||
|
||||
DATA: Atomizált címmezők hozzáadva a data.organizations táblához.
|
||||
|
||||
LOGIC: Háromszintű névkezelés (Hivatalos, Rövid, Display) bevezetve.
|
||||
LOGIC: Háromszintű névkezelés (Hivatalos, Rövid, Display) bevezetve.
|
||||
|
||||
## [2.1.0] - 2026-02-08
|
||||
|
||||
### Hozzáadva (Added)
|
||||
- **Hibrid Címkezelő Rendszer**: Új `data.addresses` központi tábla, amely UUID alapú azonosítással köti össze a személyeket, cégeket és szervizeket.
|
||||
- **Öntanuló GeoService**: A rendszer rögzítéskor automatikusan bővíti a ZIP-kód, város és utcanév szótárakat.
|
||||
- **Autocomplete API**: `/api/v1/services/suggest-street` végpont a frontend gépelés közbeni támogatásához.
|
||||
- **Kétlépcsős Keresés**: `/api/v1/services/search` végpont, amely megkülönbözteti a légvonalbeli (Free) és útvonal/idő alapú (Premium) kalkulációt.
|
||||
- **PostGIS Integráció**: Tűpontos GPS távolságmérés `geography` casting használatával.
|
||||
|
||||
### Javítva (Fixed)
|
||||
- **Gamifikációs hiba**: A `PointsLedger` modellben javítva a `points` mezőnév (TypeError: points_change fix).
|
||||
- **Adatbázis Inkonzisztencia**: Létrehozva a hiányzó `data.user_stats` tábla.
|
||||
- **Import hibák**: `Optional`, `UploadFile` és `File` hiányzó importok pótolva a szolgáltatás végpontokon.
|
||||
|
||||
### Változtatva (Changed)
|
||||
- **Címkezelési Logika**: A cégek és magánszemélyek mostantól egységes, bontott címstruktúrát (zip, city, street, street_type, house_number, parcel_id) használnak.
|
||||
- **XP Szűrés**: A szervizek és cégek rögzítésekor a rendszer mostantól csak a természetes személyeknek (User/Driver) oszt social pontokat.
|
||||
|
||||
## [2.1.0] - 2026-02-08
|
||||
- **Feat**: Hibrid címkezelő rendszer bevezetése (UUID alapú `data.addresses`).
|
||||
- **Feat**: Öntanuló Geo-logika (Auto-create ZIP/Street).
|
||||
- **Feat**: Kétlépcsős (Free/Premium) szervizkereső API.
|
||||
- **Fix**: `points_ledger` mezőnév szinkronizáció.
|
||||
- **Fix**: `data.user_stats` tábla inicializálása.
|
||||
|
||||
## [2026-02-08] - Nemzetközi Asset és KYC Stabilizáció
|
||||
|
||||
### Hozzáadva
|
||||
- **Nemzetközi paraméterek**: `mileage_unit` (km/miles/hours) és `reading_unit` támogatása az Asset modellben.
|
||||
- **Pénzügyi alapok**: `AssetCost` modell bővítése nettó/bruttó összeggel, ÁFA kulccsal és deviza-kezeléssel.
|
||||
- **Árfolyamkezelés**: `exchange_rates` tábla implementálása MNB/ECB alapú napi frissítéshez.
|
||||
- **Értékelési rendszer**: `ratings` tábla létrehozva (user, asset, service_provider szinten).
|
||||
|
||||
### Javítva
|
||||
- **KYC Folyamat**: Anyja neve bontása vezetéknévre és keresztnévre a magyar/nemzetközi szabványok szerint.
|
||||
- **Database Schema**: Számos hiányzó oszlop pótolva (`asset_events.data`, `asset_events.event_date`, `user_stats.total_xp`).
|
||||
- **SQLAlchemy hiba**: Javítva az `IndexError` a katalógus lekérdezésnél és az import hiba a `PG_UUID` kapcsán.
|
||||
|
||||
### Megjegyzés
|
||||
A rendszer most már képes egyetlen KYC folyamat alatt aktiválni a felhasználót, létrehozni az egyéni flottáját, inicializálni a pénztárcáját (Kredit/Coin) és rögzíteni az első járművét kezdő km-óra állással.
|
||||
@@ -173,4 +173,17 @@ Minden telephely rögzítésekor az alábbi bontott címadatok kötelezőek:
|
||||
- Opcionális: Helyrajzi szám (parcel_id) külterületi vagy HRSZ alapú azonosításhoz.
|
||||
|
||||
### 4.2 Validációs Folyamat
|
||||
A rögzített címek automatikusan bekerülnek a Master Geo adatbázisba, építve a rendszer globális címjegyzékét.
|
||||
A rögzített címek automatikusan bekerülnek a Master Geo adatbázisba, építve a rendszer globális címjegyzékét.
|
||||
|
||||
## 5. Járművek és Költségek (MVP)
|
||||
A járműadatok kezelése hibrid módon történik.
|
||||
|
||||
### 5.1 Jármű Katalógus
|
||||
- A rendszer egy központi katalógust (`asset_catalog`) épít.
|
||||
- Új rögzítéskor a rendszer először a katalógusból kínál fel opciókat (Dropdown).
|
||||
- Ha a modell nem létezik, a rendszer automatikusan felveszi (Self-learning catalog).
|
||||
|
||||
### 5.2 Költségkövetés (TCO)
|
||||
- Minden Asset-hez rögzíthető költség (`asset_costs`).
|
||||
- Kötelező adatok: Kategória, Összeg, Dátum.
|
||||
- Opcionális: Km óra állása (az amortizáció és szervizintervallum számításához).
|
||||
Reference in New Issue
Block a user