69 lines
6.3 KiB
Markdown
Executable File
69 lines
6.3 KiB
Markdown
Executable File
🧠 1. Belső Fejlesztői Összefoglaló (A "Soha többé ne csináljuk újra" jegyzet)
|
|
|
|
Ezt a részt azért készítettem, hogy ha 3 hónap múlva ránézel a kódra, pontosan tudd, mik a Master Book 2.0 (MB2.0) alappillérei, és mik azok a régi hibák, amiket kigyomláltunk.
|
|
|
|
Séma-Izoláció (Szeparáció): Megszüntettük a "minden egy táblában" káoszt. A felhasználók és jelszavak az identity sémában élnek, a rendszerbeállítások a system-ben, az üzleti adatok (flotta, szervizek) pedig a data sémában. Ez az adatvédelem (GDPR) alapja.
|
|
|
|
100% Aszinkron Működés: Száműztük a blokkoló psycopg2 és urllib hívásokat. Minden adatbázis-kapcsolat (AsyncSessionLocal) és hálózati kérés (httpx) aszinkron. A rendszer most már nem fagy le, ha egy robot épp a Google API-ra vár.
|
|
|
|
Robot-Ökoszisztéma Konszolidáció: Az elszórt, egymásról nem tudó "seed" és "bot" scripteket (pl. seed_discovery.py, seed_models.py, discovery_bot.py) likvidáltuk vagy betettük az OLD mappába. A tudásukat integráltuk a központi app/workers/ mappába. A robotok most már futószalagon (Pipeline) adják át egymásnak az adatokat a Staging táblákon keresztül.
|
|
|
|
Idempotens Seederek: Az inicializáló scriptek (seed_system.py, seed_test_scenario.py) most már okosak. Bármikor újra lefuttathatók, nem dobnak hibát és nem duplikálnak adatot (ON CONFLICT DO NOTHING, UUID-k, létezés-ellenőrzés).
|
|
|
|
Person-Identity Szétválasztás: Egy felhasználó (User) már csak egy hitelesítési kapu. A valódi fizikai entitás a Person, a cég pedig az Organization.
|
|
|
|
📊 2. Részletes Rendszer-Specifikáció (Kézikönyvhöz és Prezentációhoz)
|
|
|
|
Ez a rész használható a termék bemutatásakor a befektetőknek, vagy a szoftver dokumentációjának alapjaként.
|
|
I. Core Architektúra és Biztonság
|
|
|
|
A rendszer alapja egy mikroszolgáltatás-orientált, elosztott hálózat, amely képes a masszív terhelés kezelésére.
|
|
|
|
Technológiai Stack: FastAPI (Python 3.12), PostgreSQL (SQLAlchemy 2.0 Aszinkron ORM), Redis (Cache), MinIO (S3 kompatibilis fájltárolás).
|
|
|
|
Hitelesítés és Jogosultság: JWT alapú munkamenet-kezelés, beépített Google OAuth támogatással. Szigorú szerepkörök (Superadmin, Admin, User) és szervezet-szintű (Owner, Member) jogosultságok.
|
|
|
|
Nyelvek és Lokalizáció (i18n): Adatbázis-vezérelt, memóriában gyorsítótárazott (Redis/RAM) hierarchikus fordítási rendszer, amely azonnal képes nyelvet váltani a felhasználói profil alapján.
|
|
|
|
Sentinel Diagnosztika: Beépített öndiagnosztikai modul (diagnose_system.py), amely egy gombnyomásra ellenőrzi az adatbázis sémák épségét, a nyelvi motor állapotát és a robotok várólistáit.
|
|
|
|
II. Az Autonóm Robot Hadsereg (AI & Data Pipeline)
|
|
|
|
A platform legfőbb értéke a "Zero-Data-Entry" filozófia. A felhasználóknak nem kell adatokat gépelniük; a robotok feltérképezik és validálják a piacot.
|
|
Egység Kódnév Feladat és Képességek
|
|
Robot 0 Strategist RDW API-ra kötött globális márka-felfedező. Automatikusan felismeri, ha új járműmárka jelenik meg az EU piacán, és felteszi a várólistára.
|
|
Robot 1 Continental Scout Rács-alapú (Grid Search) térképészeti robot. Képes egy egész várost lefedni a Google Places API és az OpenStreetMap hibrid használatával. Ujjlenyomat-alapú (Fingerprint) deduplikációval szűri a szervizeket.
|
|
Robot 2.1 Researcher Szöveges kontextus-gyűjtő. DuckDuckGo motorral fésüli át az internetet technikai leírások (olajmennyiség, gumiméret) után, ha a belső adatbázis hiányos.
|
|
Robot 2.2 Alchemist (AI) A rendszer "Agya". Lokális GPU-n futó LLM (Ollama) vagy Cloud AI segítségével a nyers internetes adatokat strukturált, technikai "Arany Adatokká" (Gold Data) alakítja. Beépített hallucináció-szűrővel (Sanity Check) rendelkezik.
|
|
Robot 3 OCR Engine Dokumentum-digitalizáló. A feltöltött számlákat és forgalmi engedélyeket olvassa le mesterséges intelligencia (Computer Vision) segítségével.
|
|
III. Közösségi Moderáció és Gamification (Játékosítás)
|
|
|
|
A rendszer önfenntartó: a rosszindulatú adatokat a közösség szűri ki, a hasznos munkát a rendszer jutalmazza.
|
|
|
|
Reputation System (Hírnév): Minden felhasználónak van egy hírnév-pontszáma. Ha hamis szervizt tölt fel, a közösség leszavazza (-3 pontnál a rendszer automatikusan kitiltja, "Auto-Ban"). Ha hasznos adatot ad meg, pozitív pontokat kap.
|
|
|
|
XP és Szintek: Az elvégzett feladatokért (pl. jármű értékelése, OCR feltöltés, szerviz validálása) XP jár. A felhasználók szinteket léphetnek (Kezdő Sofőr -> Flotta Mester -> Sentinel Legenda).
|
|
|
|
Főkönyv (Points Ledger): Minden pontmozgás tranzakciószerűen, megmásíthatatlanul rögzítésre kerül.
|
|
|
|
IV. Flotta és Asset Management (TCO Motor)
|
|
|
|
A járművek és gépek teljes életciklus-kezelése.
|
|
|
|
Digital Twin (Digitális Iker): Minden jármű a katalógusból (Gold Data) kapja az alapadatait, ami kiegészül a saját, egyedi futásteljesítményével (Telemetria) és pénzügyi profiljával.
|
|
|
|
TCO Költségszintetizátor: A rendszer 9 standardizált kategóriában (Üzemanyag, Szerviz, Gumi, Adó, Bírság stb.) képes rögzíteni és elemezni a költségeket.
|
|
|
|
Szervezeti Tárolók (Vaults): A magánszemélyek és a cégek teljesen elkülönített, titkosított mappákban (Folder Slug) kezelhetik a járműveiket és a hozzájuk tartozó dokumentumokat.
|
|
|
|
Előfizetési Szintek (Tiers): MVP szinten beépített limitációk (Free, Premium, Fleet) a maximális járműszám és az AI funkciók (pl. OCR) elérésére.
|
|
|
|
🚧 Mi az, ami jelenleg NINCS még kész? (Következő lépések)
|
|
|
|
Bármilyen prezentáció előtt fontos tudni, hol vannak a határok. A backend motorja és adatbázisa készen áll, de:
|
|
|
|
API Végpontok (Routes): A main.py be van kötve, de az app/api/v1/endpoints/ mappában még meg kell írni azokat a CRUD műveleteket (GET, POST), amiken keresztül a Frontend ténylegesen beszélget az adatbázissal.
|
|
|
|
Alembic Migrációk Generálása: A modellek megvannak, de az alembic revision --autogenerate parancsot még le kell futtatni az induláskor, hogy a PostgreSQL táblák fizikailag is létrejöjjenek a kód alapján.
|
|
|
|
Frontend Csatlakozás: A React/Vue felületet még rá kell kötni ezekre a végpontokra. |