23 KiB
(Változásnapló.)
📜 CHANGELOG
[1.0.1] - 2026-02-06
Hozzáadva
- Unified Auth Module: Integrált Belépés, Lite Regisztráció és Elfelejtett jelszó kezelés.
- Email Rendszer: SendGrid integráció SMTP fallback lehetőséggel.
- KYC Előkészítés:
is_activeflag bevezetése aUserésPersonmodellekben a 2-lépcsős folyamathoz.
Javítva
- SQLAlchemy Mapper Fix: Megszűnt az
owned_organizationskörkörös függőségi hiba. - Típus Szinkron:
Person.idjavítvaBigIntegertípusra a Postgres sémával összhangban. - Import Fixek:
app.db.base_class->app.db.baseútvonalak egységesítve.
Technikai adatok
- Konténer állapot: Stabil (running)
- Regisztrációs folyamat: Step 1 (Lite) tesztelve, sikeres.
[1.0.0] - 2026-02-03
- Init: Grand Master Book létrehozása.
- Arch: Átköltözés a 80 magos szerverre.
- Spec: Kredit rendszer, Tiers, Soft Delete és Person logika véglegesítése.
[2026-02-04] - Identity & Company Sync (v1.2)
- Modell Konszolidáció: Az
app.models.identitylett a központi identitáskezelő (User, Person, Wallet). - Master Book v1.2 Implementáció: Bevezetésre került a céges verifikációs logika (is_verified) és a 30 napos türelmi idő kezelése.
- Integritás javítás: Az
Organizationtábla bővítve lettis_transferableés hitelesítési mezőkkel. - Bugfix:
security.pyIndentationError javítva,auth_service.pyatomikus regisztrációs flow Master Book szinkronizálva. - Security: PostgreSQL tábla-tulajdonosi jogosultságok felülvizsgálata a migrációs hibák elhárításához.
[2026-02-05] - Identity & Company Sync (v1.2)
- Database Security: Javítva a
user_vehicle_equipmenttábla tulajdonosi jogosultsága (shared-postgreskörnyezetben). - Core Fix: A
security.pyállomány behúzási hibái (IndentationError) véglegesen elhárítva. - Organization v1.2: Implementálva az
is_transferable,is_verifiedésverification_expires_atmezők a flották hitelesítéséhez. - AuthService Logic: - Az
INDIVIDUALtípusú flották mostantól alapértelmezetten nem átruházhatóak.- Beépítve a 30 napos türelmi idő (
grace_period) kalkulációja a cégellenőrzéshez. - Atomikus regisztráció kiterjesztve a privát flották automatikus létrehozására.
- Beépítve a 30 napos türelmi idő (
- Infrastructure: Alembic migrációs lánc szinkronizálva az új modellekkel.
[2026-02-05] - Admin & Economy Finalization (v1.0)
- Admin Management: Teljes hiearchia és területi felosztás kidolgozva (L0-L3).
- Security: "Kill-switch" anomália-figyelés és 2FA kényszerítés rögzítve.
- Economy: 10-5-2% jutalékrendszer és Voucher/Coupon logika specifikálva.
- Synergy: Céges VIP és privát flotta közötti kedvezmény-szinergia kidolgozva.
- Invitations: Meghívó limitációs és anti-spam logika rögzítve.
📓 CHANGELOG - SERVICE FINDER
[1.2.1] - 2026-02-05
✅ Hozzáadva (Added)
- Multi-step Social Auth:
Usermodell bővítvesocial_provideréssocial_idmezőkkel. - Flotta Tulajdonjog:
Organizationmodellbenis_transferableflag implementálva (Individual flotta zárolva). - Referral Snapshot: Előkészítve a 10-5-2%-os jutalékrendszer adatmodellje.
🛠️ Javítva (Fixed)
- SQLAlchemy Mapper: Megszűnt a
UserVehicleKeyError hiba a string-alapú hivatkozásokkal. - Duplikáció:
Vehicleosztály duplikációja eltávolítva avehicle.py-ból. - Indentation Error:
security.pybcrypt indentációs hiba javítva.
⚠️ Megjegyzés
- Alembic migráció szükséges az új
OrganizationésUsermezőkhöz.
📓 CHANGELOG (Rögzítendő változások)
Mivel kérted, itt van a változások listája, amit a teszt után beírhatunk:
Fixed: UserRole enum validációs hiba (Postgres userrole típus mostantól kisbetűs értéket kap).
Added: Teljes banki KYC integráció a regisztrációba (Személyi, Jogosítvány, Speciális engedélyek).
Added: Atomi tranzakció részeként automatikus OrganizationMember létrehozás a privát flottához.
Added: Audit log rögzítése minden sikeres regisztrációról.
Added: Dinamikus paraméterkezelés (system_settings) a 14 napos jutalomhoz.
Elvárt eredmény: A tranzakció végén létrejön a Person, a Wallet (0 Coin) és a Private Fleet (is_transferable=False). A User is_active értéke True lesz.
-
Debugging Checklist
500 Error? Ellenőrizd a docker logs -f service_finder_api kimenetét. Ha "UndefinedColumn", akkor hiányzik egy SQL mező. Ha "InvalidTextRepresentation", akkor Enum hiba (nagybetűs string).
Üres Swagger? Ellenőrizd az importokat a security.py-ban és a sémákat az endpoints/auth.py-ban.
💡 Javaslatom a dokumentáció kiegészítésére:
A fejlesztések rendben tartásához javaslom a 17_DEVELOPER_NOTES_AND_PITFALLS.md fájl aktív használatát is, amit az előző körben küldtem. Ez segít megelőzni, hogy a fejlesztőcsapat újra belefusson a Postgres Enum vagy a Base.metadata.create_all korlátaiba.
Holnap reggel frissíted a GEM beállításokat is? Ha igen, a következő lépésben elkészíthetem neked a Step 2 (KYC) végleges Pydantic sémáját és a complete-kyc végpont vázlatát!
[0.2.0] - 2026-02-07
✨ Hozzáadva (Added)
- Step 2 (KYC) Folyamat: Teljes körű identitás-kezelés (telefonszám, születési adatok, okmányok, ICE kontakt).
- Automata Privát Flotta: Minden felhasználóhoz automatikusan létrejön egy
individualtípusú szervezet (Privát Széf). - Automata Wallet: Minden validált felhasználó kap egy üres pénztárcát (Coin és XP egyenleggel).
- Trust Tiers: Bevezetésre került a fokozatos bizalmi szint (Tier 1: Email, Tier 2: KYC/Active).
🛠️ Javítva (Fixed)
- SQLAlchemy Async Fix:
joinedloadalkalmazása a User-Person kapcsolathoz (MissingGreenlet hiba elhárítva). - JSON Serialization: Pydantic
model_dump(mode='json')használata a JSONB mezőkhöz (dátum-konverziós hiba javítva). - Postgres Schema:
data.organizationstábla bővítve hiányzó oszlopokkal (is_verified,updated_at, stb.). - Auth Endpoint:
/complete-kycvégpont hozzáadva és JWT védelemmel ellátva.
⚙️ Adatbázis Változások (Database)
- Új Enum típus:
data.orgtype('individual', 'company'). data.personsbővítve:phone,birth_place,birth_date,mothers_name,identity_docs,ice_contact.data.organizationsbővítve:is_verified,is_transferable,verification_expires_at,updated_at.
[0.2.0] - 2026-02-07
✅ Step 2 KYC & Activation Complete
- Funkció: Teljes körű személyazonosság-kezelés és fiókaktiválás.
- Automatizálás: Regisztrációkor automatikusan létrejön a "Privát Flotta" (Organization) és a digitális pénztárca (Wallet).
- Adatvédelem: Elkészült a "Digitális Széf" logika az okmányok és vészhelyzeti adatok biztonságos tárolására.
- Technikai fix: SQLAlchemy
joinedloadintegráció az aszinkron adatkezeléshez és JSON-safe dátumkezelés.
[0.3.0] - 2026-02-07
✨ Hozzáadva (Added)
- Asset DNS Modell: Új, univerzális eszközkezelő rendszer (Assets, VehicleCatalog, AssetEvents, AssetRatings).
- Harvester Robot: Automata adatgyűjtő rendszer, amely külső forrásokból tölti fel a globális járműkatalógust.
- UUID Implementáció: Az eszközök (Assets) és események (Events) mostantól biztonságos UUID azonosítókat használnak.
⚙️ Adatbázis Változások (Database)
data.vehicle_catalogtábla létrehozva a globális specifikációknak.data.assetstábla létrehozva a konkrét példányok (VIN/HIN alapú) tárolására.data.asset_eventsésdata.asset_ratingstáblák az életút és közösségi visszajelzések kezelésére.
🛠️ Refaktor (Refactor)
- Modell Konszolidáció: A korábbi
VehicleésVehicleBrandmodellek beolvasztva az újAssetésVehicleCatalogstruktúrába. - Kapcsolati Térkép: Az
OrganizationésUsermodellek frissítve az új Asset logikához.
[0.3.5] - 2026-02-07
✨ Robot Technológia & Adatbiztonság
- Multi-Robot Architektúra: Előkészítve a kategória-specifikus (Car, Bike, Truck) Harvester robotok szétválasztása.
- Status Tracking: Bevezetve a
verification_statusa katalógus elemekhez a hiányos adatok kezelésére. - SQL Optimalizálás: Új indexek és kategória alapú szűrések hozzáadva a globális katalógushoz.
[0.4.0] - 2026-02-07
✨ Multi-Robot System
- Kategória Robotok: Elkészült a Car, Bike és Truck harvester moduláris szerkezete.
- Robot Manager: Központi vezérlő az ütemezett és sorrendi adatgyűjtéshez.
- Katalógus Kereső: Üzembe helyezve a
/catalog/searchvégpont a Swaggerben.
[0.4.5] - 2026-02-07
✨ Asset Management & Infrastructure
- Asset Endpoint:
POST /api/v1/assets/élesítve VIN validációval. - NAS Integration: Automata mappastruktúra létrehozása az eszközöknek (
/assets/{uuid}). - Data Model:
privacy_levelésstatusmezők hozzáadva az Asset modellhez. - Bugfix: SQLAlchemy
TypeErrorjavítva a modell és a séma szinkronizálásával.
[0.5.0] - 2026-02-07
✨ Corporate & CRM Foundation
- Corporate Onboarding:
POST /api/v1/organizations/onboardvégpont élesítve. - Validation: Magyar adószám (HU) formátum ellenőrzés beépítve.
- Status Management: Bevezetve a
pending_verificationállapot a szervezetekhez. - Database: PostgreSQL
orgtypeEnum szinkronizálva a Python modellel (kisbetűs mapping). - NAS: Automata szervezeti mappa-izoláció (
/organizations/{id}).
[0.5.1] - 2026-02-07
FIX: ModuleNotFoundError javítva az importok szinkronizálásával.
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.
## [2.1.0] - 2026-02-08
Hozzáadva (Added)
- Hibrid Címkezelő Rendszer: Új
data.addresseskö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-streetvégpont a frontend gépelés közbeni támogatásához. - Kétlépcsős Keresés:
/api/v1/services/searchvé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
geographycasting használatával.
Javítva (Fixed)
- Gamifikációs hiba: A
PointsLedgermodellben javítva apointsmezőnév (TypeError: points_change fix). - Adatbázis Inkonzisztencia: Létrehozva a hiányzó
data.user_statstábla. - Import hibák:
Optional,UploadFileésFilehiá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_ledgermezőnév szinkronizáció. - Fix:
data.user_statstá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) ésreading_unittámogatása az Asset modellben. - Pénzügyi alapok:
AssetCostmodell bővítése nettó/bruttó összeggel, ÁFA kulccsal és deviza-kezeléssel. - Árfolyamkezelés:
exchange_ratestábla implementálása MNB/ECB alapú napi frissítéshez. - Értékelési rendszer:
ratingstá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
IndexErrora katalógus lekérdezésnél és az import hiba aPG_UUIDkapcsá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.
[Unreleased] - 2026-02-10
🚀 Added (Új funkciók)
- RBAC System:
- `User` tábla bővítése: `scope_level`, `scope_id`, `custom_permissions`.
- `system_parameters` tábla létrehozása a globális JSON konfigurációkhoz.
- Master RBAC JSON konfiguráció seedelése.
- Gamification:
- `GamificationService` létrehozása (XP, Level, Credit logika).
- Automata pontszámítás és nehezedő szintek logikája.
- API Modularitás:
- `assets.py` szétbontása 3 végpontra (Identity, Costs, Telemetry).
🛠 Changed (Módosítások)
- Asset Model: Az `Asset` entitás mostantól lazy loading helyett `selectinload` stratégiát használ a teljesítmény érdekében.
- Error Handling: Javítottuk az `asyncpg` többszörös parancs-futtatási hibáját a setup scriptekben.
- Configuration: A rendszerbeállítások mostantól adatbázis-alapúak (JSONB) a hardcoded konstansok helyett.
🐛 Fixed (Javítások)
- Schema Mismatch: SQLAlchemy modellek és Pydantic sémák szétválasztása (
models/asset.pyvsschemas/asset.py). - Data Integrity: `updated_at` és `is_active` oszlopok pótlása a `system_parameters` táblában.
- API Stability: `getattr` használata a hiányzó opcionális mezőknél (pl. `net_amount`), hogy ne szálljon el az API 500-as hibával.
[1.2.0] - 2026-02-10
Added
- Asset Financials 2.0: Pivot-Currency modell implementálva (helyi deviza + EUR párhuzamos tárolás).
- Smart Auth Token: JWT token mostantól tartalmazza a
rank,scope_levelésscope_idmezőket a gyors jogosultságkezeléshez. - CostService: Automatikus árfolyam-kalkuláció, telemetria-szinkron és XP jóváírás költségrögzítéskor.
- ExchangeRate: Új árfolyamtábla és modell az EUR alapú váltásokhoz.
Fixed
- Circular Import Resolution: Megszüntetve a
db.baseés amodelsközötti körkörös függőség az import lánc modularizálásával. - Alembic Identity Sync: Visszaállítva a
Usermodell hiányzóscope_leveléscustom_permissionsmezői, megakadályozva az adatvesztést migrációkor. - NotNullViolationError: Fixálva az
asset_coststábla migrációja (amount_local NOT NULL kényszer).
Changed
AssetCostmodell mezőnevek szinkronizálva a pénzügyi standardokhoz (amount_local,amount_eur).SystemParametermodell elnevezés igazítva a meglévő adatbázis sémához.
[1.5.0] - 2026-02-10
Added
- Judge & Penalty System: Bevezetve a
penalty_pointsésrestriction_levelmechanizmus a visszaélések kiszűrésére. - Dynamic Multipliers: Admin felületről (JSON config) állítható pontszorzók a büntetési szintekhez.
- Social-to-Credit Auto-conversion: Automatikus Kredit jóváírás a Walletbe meghatározott Social pont elérésekor.
- Level Achievement Bonus: 10-es szintenkénti automatikus Kredit jutalmazás.
Fixed
- Circular Dependency Fix: A modellek közötti import hurok végleges felszámolva (string-alapú relationship hivatkozások).
- Identity Schema Protection: Visszaállítva a
Usermodell hiányzóscope_id,scope_leveléscustom_permissionsmezői. - Database Consistency: A
user_statsésasset_coststáblák sikeresen migráltak a NOT NULL kényszerek és alapértelmezett értékek (server_default) beállításával.
Changed
- GamificationService: Mostantól központi "Bíróként" funkcionál, leválasztva a pontszámítási logikát a többi szervizről.
- Identity Model: A
WalletésVerificationTokenosztályok integrálva azidentity.pymodulba.
Changelog - Service Finder Backend
Verzió: 1.6.0 (Sentinel & i18n Update) Dátum: 2026.02.10.
[1.6.0] - 2026-02-10
Hozzáadva
- Sentinel Biztonsági Rendszer: -
PendingActionmodell bevezetése a "Négy szem elv" (Dual Control) biztosításához.SecurityServiceimplementálása: Adatlopás elleni védelem (Throttling) és automata vészleállító (Emergency Lock).AuditLogbővítése szigorúbb súlyossági szintekkel (critical,emergency).
- Nyelvi Modul (i18n):
Translationmodell adatasémában.TranslationService: Adatbázis-alapú fordításkezelés, szerveroldali cache, Fallback (EN) logika és JSON export funkció a Frontend számára.
- Admin Kontroll Panel:
- Új API végpontok a függőben lévő műveletek jóváhagyásához, a rendszerbiztonsági állapot monitorozásához és a nyelvi szinkronizációhoz.
Javítva
- Circular Import Fix: A modellek importálási rendjének optimalizálása a
app.db.base_classközvetlen használatával, megszüntetve a hurok-importokat. - Függőségkezelés:
deps.pybővítve aget_current_active_userfüggőséggel a biztonsági zárolások érvényesítéséhez. - Soft-Delete Logika: A felhasználói fiók törlése mostantól felszabadítja az eredeti e-mail címet a TWINS-elvű újra-regisztrációhoz.
15. Changelog & Version History
[v1.2.5] - 2026-02-10 (The "SuperAdmin" Update)
🚀 New Features
- Admin Bootstrap: Implementáltuk a "vészhelyzeti" Admin létrehozási folyamatot (Python script alapú hash generálással).
- i18n Sync: Élesítettük a
/api/v1/admin/translations/syncvégpontot, amely JSON fájlokba exportálja az adatbázis fordításait. - Identity Expansion: A
Usermodell bővült apreferred_languageésregion_codemezőkkel a perszonalizáció érdekében.
🐛 Bug Fixes
- ORM Crash: Javítva az
AssetAssignmentésAssetCostmodellek hiányzóorganizationkapcsolatai, amelyek blokkolták a rendszer indulását (InvalidRequestError). - Config Error: Javítva a
Settingsosztályból hiányzóSTATIC_DIRdefiníció, ami 500-as hibát okozott a fordítások szinkronizálásakor. - Login Crash: Javítva az
AttributeErrora Login végponton (a hiányzóregion_codemiatt).
🛠 Technical Changes
- Migrations: Új Alembic migráció (
add_lang_and_region_to_user) generálva és lefuttatva. - Environment: A
static/localesmappa jogosultságai beállítva a Docker konténer számára.
[2026.02.12] - Fundamentum és Robot Orchestration
FIX: Javítva a docker-compose v1/v2 összeférhetetlenség (ContainerConfig hiba).
FIX: Megszüntetve az ImportError: cannot import name 'FastAPILimiter' hiba a security.py modulban.
DATABASE: PostGIS Geometry típus implementálva a service_profiles táblában.
MODEL: Az Asset (Digital Twin) és ServiceProfile közötti kapcsolatok szinkronizálva az ownership_history modulon keresztül.
WORKERS: Új állapotvezérelt (State-driven) robotlogika bevezetése:
A szervizek alapértelmezetten ghost státusszal jönnek létre.
Bevezetve a last_audit_at mező az automatikus kivezetéshez (Soft-delete).
UX: A keresőmotor számára definiálva a "Nem megerősített szolgáltató" jelzés a bot által talált adatokhoz.
📝 Részletes Összefoglaló az Elvégzett Munkáról
Környezet Stabilizálás: A modern Docker Engine-hez igazítottuk a parancsokat, megoldva a régi Python-alapú compose hibáit.
Adatmodell Integritás: Visszaállítottuk az összes kritikus mezőt (nettó érték, ÁFA, maradványérték, telemetria), így a rendszer alkalmas komplex flottakezelési feladatokra is.
Szerviz Életciklus: Kidolgoztunk egy olyan logikát, ahol a botok nem "szemetelik" az adatbázist, hanem egy ghost (árnyék) réteget hoznak létre. Ezek a szervizek csak akkor válnak teljesen hitelessé, ha a felhasználók interakcióba lépnek velük (Gamification) vagy az Admin jóváhagyja őket.
Robot Koordináció: A robotok immár nem ütköznek. Az egyik a járműkatalógust építi API-kból, a másik a térképi pontokat gyűjti és auditálja.
# Changelog - 2026-02-13
Service Finder Project - "Dunakeszi Detective" & Docker Infrastructure
🚀 Fejlesztések és Architektúra
-
Robot 2.7 (Service Hunter) Implementálása:
- Hibrid adatgyűjtés bevezetése: OSM (OpenStreetMap) + Google Places API + Helyi CSV.
- Geocoding Integráció: A CSV-ben megadott szöveges címek (pl. "Dunakeszi, Kikerics köz 4") automatikus GPS koordinátára fordítása a Google API segítségével.
- Trust Score alapok: Különböző források eltérő bizalmi szinttel kerülnek rögzítésre (Manuális > Google > OSM).
-
Adatbázis és Modellek (ORM) Javítása:
OrganizationésAddressmodellek szinkronizálása a valós adatbázis sémával.- Hiányzó mezők kezelése (City, Zip átmozgatása Organization szintre).
- PostGIS geometria (POINT) kezelésének pontosítása.
-
Docker Infrastruktúra Stabilizálás:
- Hálózati hiba (
[Errno -2] Name or service not known) elhárítása. shared_db_netésbridgehálózatok megfelelő konfigurálása.- Konténer DNS beállítások fixálása (Google DNS fallback).
- Adatbázis hostnév korrekció (
db->shared-postgres).
- Hálózati hiba (
🧠 Üzleti Logika és Stratégia (Döntések)
- Multi-Tenant Kezelés: Egy címen több cég is létezhet. A rendszer nem vonja össze őket automatikusan, csak ha az adószám/név egyezik.
- Adatvédelmi Elv (No-Delete): A robot soha nem töröl adatot fizikailag. Ha egy forrás megszűnik, a rekord "archived" vagy "review_needed" státuszt kap, de az adatbázisban marad.
- Emberi Felügyelet: A duplikációk összefűzése vagy a hibás adatok törlése Admin/Moderátor jogkör, nem a robot automatizmusa.
- Dinamikus Adatfrissítés: A robot a jövőben frissítheti a manuálisan felvitt adatokat is (pl. ha változik a nyitvatartás a Google-ön), de a prioritási szabályokat még finomítani kell.
🐛 Javított Hibák
socket.gaierror: Docker konténer internet elérés és belső névfeloldás javítva.AttributeError: 'city': SQLAlchemy modell mezőleképezési hiba javítva.- Függőségi hiba (
depends_at->depends_on) a docker-compose fájlban.
🔜 Következő Lépések
- Gamification és Moderátori felület (Admin UI) tervezése az adatok tisztítására.
- Logikai szabályrendszer (Business Rules) véglegesítése a "Robot vs. Ember" adatkonfliktusokra.