4.6 KiB
4.6 KiB
(Az Adatbázis Bibliája.)
🗄️ DATABASE GUIDE
🗄️ DATABASE GUIDE & DATA INTEGRITY (v1.0)
1. Soft Delete & Újraregisztráció Logika
A rendszerben nincs fizikai törlés. A data.users tábla az alábbi módon kezeli a visszatérő felhasználókat:
- Indexelés: Az
emailmezőn egy Partial Unique Index (idx_user_email_active_only) található. - Működés: - Ha
is_deleted = FALSE, az email nem használható újra.- Ha a felhasználó törli magát (
is_deleted = TRUE), az email felszabadul. - Új regisztrációkor a rendszer új
user_id-t generál, de ha a KYC adatok egyeznek, ugyanahhoz aperson_id-hoz kapcsolja az új fiókot.
- Ha a felhasználó törli magát (
2. Person (Személyazonosság) - KYC & Safety
A data.persons tábla tárolja a banki szintű azonosításhoz szükséges adatokat:
- Szétválasztott nevek:
last_nameésfirst_namea pontos azonosításhoz. - JSONB mezők: Rugalmas adatszerkezet az okmányokhoz (
identity_docs) és vészhelyzeti adatokhoz (medical_emergency). - Jutalom Trigger: A profil 100%-os kitöltése (név, szül. adatok, okmányok) automatikusan aktiválja a 14 napos PRÉMIUM csomagot.
3. Economy (Pénztárca & Referral)
- Wallet: Minden regisztrációkor létrejön egy rekord a
data.walletstáblában (0 Coin, 0 XP). - Referral Snapshot: A jutalékok kifizetésekor a rendszer rögzíti a tranzakció pillanatában érvényes százalékot (
commission_percentage), így a későbbi admin módosítások nem érintik a múltbeli elszámolásokat.
Sémák
public: Csak technikai táblák (pl. Alembic version).data: Az üzleti logika 55 táblája.
Kulcs Táblacsoportok
- Fleet:
vehicles,user_vehicles,vehicle_events,engine_specs. - Marketplace:
service_providers,service_specialties,organization_locations. - Economy:
wallets,transactions,shop_items. - Identity:
users,persons,companies.
Migrációs Állapot
- Eszköz: Alembic.
- Current Head:
10b73fee8967. - Hiányzó láncszem: A
personstábla létrehozása és a meglévőuserstábla migrációja (Ba
4. Regionalizáció és Multi-Currency (EU Scope)
A rendszer fel van készítve az EU-s piacra:
data.regional_settings: Tárolja az országkódokat (ISO 3166-1), az alapértelmezett nyelvet és a helyi pénznemet.data.exchange_rates: Napi frissítésű váltószámok (Base: EUR).- Valuta Logika: - Minden költséget a rögzítéskori helyi pénznemben (
currency_code) és az akkori váltószámmal átszámított EUR-ban is elmentünk.- Képlet:
Cost_{EUR} = Cost_{Local} \cdot ExchangeRate - Ez biztosítja, hogy a nemzetközi flották egységes kimutatást kapjanak.
- Képlet:
5. Dinamikus Paraméterezés (System Settings)
auth.reward_days: Adminból állítható egész szám (alapértelmezett: 14).auth.reward_tier: Melyik csomagot kapja (alapértelmezett: PREMIUM).
6. Flotta és Tulajdonjog Szabályok (v1.1)
- Opcionális Járművek: Egy flotta (Organization) létezhet járművek nélkül is. A rendszer nem kényszeríti a jármű rögzítését (pl. Flotta menedzser szerepkör esetén).
- Átruházhatóság (Transferability):
INDIVIDUALflotta: Nem átruházható, a felhasználóhoz kötött.FLEET_OWNER / SERVICEflotta: Átruházható (eladható), új tulajdonos (owner_id) rendelhető hozzá.
- Cég Megszűnése: Soft delete alkalmazása. A cég
is_activestátuszaFalselesz, a tulajdonosi viszony megszűnik, de a járművek életútjában (history) az adatok megmaradnak a visszakövethetőség miatt.
7. Gazdasági Izoláció
- Gamification Korlát: Csak
INDIVIDUALtípusú flottákhoz tartozóPerson-ok vehetnek részt a gamifikációban (XP gyűjtés). - Validációs Korlát: Cég mint identitás nem validálhat szervizpontot, ezt mindig egy hozzárendelt, azonosított
Person(alkalmazott/technikus) végzi.
8. Szervezeti és Gazdasági Szabályok
- Identitás Elkülönítés: A
Company(Szervezet) entitás nem kapXP_LedgerésCoin_Walletrekordot a gamifikációhoz. Ezek kizárólag aPerson(valós személy) szintjén léteznek. - Automatizált Felügyelet: Egy ütemezett feladat (Cron/Celery) havonta ellenőrzi a cégek státuszát a külső adatbázisokban.
- Értékelési rendszer (Rating):
- Person: Egyéni teljesítmény, megbízhatóság.
- Service (Szerviz): Szolgáltatási minőség.
- Vehicle (Jármű): Műszaki állapot és előélet.
- Megjegyzés: A Cég (mint flotta) nem kap önálló értékelést, a hírneve a tagjai és járművei minősítéséből adódik össze.