8.0 KiB
🏛️ Admin System Epic: v2.0 - Enterprise Admin & Dynamic Config
Mérföldkő: v2.0 - Enterprise Admin & Dynamic Config
Cél: A Service Finder adminisztrációs rétegének átfogó fejlesztése, amely lehetővé teszi a dinamikus konfigurációk kezelését, szerepköralapú hozzáférés-vezérlést (RBAC), felhasználói és tartalmi moderálást, valamint anomália detektálást a rendszer integritásának védelme érdekében.
Prioritás: Magas
Becsült időtartam: 4 hét (4 fázis)
Felelős: Core Team
Státusz: Tervezés
📋 Issue #1 (Phase 1): Hardcode Audit & Config Motor
Cím: Hardcode Audit & Config Motor
Pontszám: 50 XP
Határidő: 2026-04-04
Scope: Backend, Database
Type: Refactor, Infrastructure
Leírás
A kódban található beégetett értékek (pl. 50 XP, limit értékek, API URL-ek) átvizsgálása és kiváltása dinamikus konfigurációs rendszerrel. Létrehozni egy SystemParameter táblát a system sémában, amely kulcs-érték párokat tárol, és egy ConfigService osztályt, amely ezeket az értékeket gyorsítótárazza és szolgáltatja az alkalmazás számára.
🔗 Függőségek (Dependencies)
- Bemenet: Meglévő kódban található hardcode értékek, PostgreSQL adatbázis
- Kimenet: Minden olyan modul, amely hardcode értékeket használ (pl. gamification, billing, robot kvóták)
📝 To-Do List
- Hardcode Audit Script írása, amely végigvizsgálja a
backend/mappát és listázza a potenciális hardcode értékeket SystemParametertábla tervezése (id, key, value, data_type, description, scope, is_encrypted, created_at, updated_at)- Alembic migráció generálása a tábla létrehozásához
ConfigServiceosztály megírása a következőkkel:get(key, default=None)metódusset(key, value)metódus (csak admin)- In‑memory cache (TTL 5 perc)
- Async támogatás
- Hardcode értékek cseréje a
ConfigService-re a következő modulokban:gamification.py(XP értékek, szintek)billing_engine.py(díjak, limitek)dvla_service.py(API kvóták)notification_service.py(sablonok)
- Admin API végpont
/api/v1/admin/configa konfigurációk kezeléséhez (GET, PUT) - Tesztelés unit és integrációs tesztekkel
📋 Issue #2 (Phase 2): RBAC & Admin Security Layer
Cím: RBAC & Admin Security Layer
Pontszám: 40 XP
Határidő: 2026-04-11
Scope: Backend, Security
Type: Feature, Security
Leírás
Szerepkörök (Superadmin, Moderator, Support) bevezetése és az /api/v1/admin router jogosultság-kezelésének megvalósítása. Minden végpontnak ellenőriznie kell a felhasználó szerepkörét és scope-ját a UserTrustProfile alapján.
🔗 Függőségek (Dependencies)
- Bemenet:
identity.userésidentity.user_trust_profiletáblák, JWT token - Kimenet: Admin API végpontok, frontend admin felület
📝 To-Do List
- Szerepkör enum definiálása (
Superadmin,Moderator,Support,Auditor) UserTrustProfiletábla bővítéseroleéspermissionsmezőkkel- Alembic migráció a mezők hozzáadásához
AdminSecuritydependency létrehozása a következőkkel:require_role(role)dekorátorrequire_permission(permission)dekorátor- Scope ellenőrzés (organization, global)
/api/v1/adminrouter védelme a dependency-vel- Permission matrix dokumentálása (melyik szerepkör mit tehet)
- Teszt felhasználók létrehozása seed scripttel
- Integrációs tesztek a szerepkörökhöz
📋 Issue #3 (Phase 3): Core Admin API Végpontok
Cím: Core Admin API Végpontok
Pontszám: 60 XP
Határidő: 2026-04-18
Scope: Backend, API
Type: Feature
Leírás
Felhasználók, KYC, járművek és szervizek kezelését végző admin API végpontok megvalósítása (listázás, szűrés, tiltás, jóváhagyás, törlés). Minden művelet naplózása az audit táblába.
🔗 Függőségek (Dependencies)
- Bemenet: Meglévő user, vehicle, service táblák, RBAC layer
- Kimenet: Admin dashboard, moderátori munkafolyamatok
📝 To-Do List
- Felhasználó kezelés:
GET /admin/users– listázás, szűrés (email, név, státusz)PUT /admin/users/{user_id}/ban– tiltás (indoklással)PUT /admin/users/{user_id}/approve– KYC jóváhagyásDELETE /admin/users/{user_id}– soft delete
- Jármű kezelés:
GET /admin/vehicles– listázás, szűrés (rendszám, márka)PUT /admin/vehicles/{vehicle_id}/flag– gyanúsként megjelölésDELETE /admin/vehicles/{vehicle_id}– törlés (ha hamis adat)
- Szerviz kezelés:
GET /admin/services– listázás, szűrés (név, hely, minősítés)PUT /admin/services/{service_id}/verify– kézi ellenőrzésPUT /admin/services/{service_id}/suspend– felfüggesztés
- KYC dokumentumok:
GET /admin/kyc/pending– függőben lévő kérelmekPUT /admin/kyc/{request_id}/review– áttekintés és döntés
- Audit naplózás minden admin művelethez (
audit.admin_actionstábla) - Pagination és filter támogatása minden listázó végponthoz
- Swagger dokumentáció frissítése
📋 Issue #4 (Phase 4): Anomália Detektálás (Anti-Cheat)
Cím: Anomália Detektálás (Anti-Cheat)
Pontszám: 30 XP
Határidő: 2026-04-25
Scope: Backend, Robot, Security
Type: Feature, Monitoring
Leírás
Robot felügyelő (Cron/Background task) létrehozása, amely figyeli a gyanús tömeges validációkat, helyadatokat és egyéb potenciális csalási kísérleteket. Riasztás generálása és automatikus intézkedések (pl. ideiglenes letiltás).
🔗 Függőségek (Dependencies)
- Bemenet: Audit naplók, vehicle validations, user actions
- Kimenet: Riasztások, automatikus blokkolások, admin értesítések
📝 To-Do List
- Anomália detektálási szabályok definiálása:
- Túl sok validáció ugyanarról az IP‑ről ( >100/óra)
- Tömeges helyadat‑módosítás rövid időn belül
- Gyanús XP farmolás (több account ugyanarról az eszközről)
- Hamis járműadatok ismételt feltöltése
AnomalyDetectorservice létrehozása:- Szabályok futtatása időzített ciklusban (pl. 10 percenként)
- Gyanús események rögzítése
audit.suspicious_eventstáblába - Riasztás generálás (email, Slack, in‑app notification)
- Automatikus intézkedések:
- IP ideiglenes blokkolása (1 óra)
- Felhasználói account letiltása (manual review required)
- Validációk visszavonása
- Admin dashboard widget a gyanús tevékenységek megjelenítéséhez
- Tesztadatok generálása és detektálás validálása
- Külső integráció (pl. Fail2ban, Cloudflare) tervezése
🗺️ Roadmap & Kapcsolódó Feladatok
- v2.1 – Admin Dashboard UI (Frontend epic) – a fenti API-k felhasználásával
- v2.2 – Real‑time Notification System – WebSocket‑alapú értesítések adminoknak
- v2.3 – Advanced Analytics for Admins – jelentéskészítő, exportálás
📊 Metrikák és Sikerfeltételek
- Hardcode redukció: 90%‑os csökkenés a kódban található magic number‑ek számában
- RBAC teljes lefedettség: Minden admin végpont védett szerepkör‑alapú ellenőrzéssel
- Anomália detektálás pontosság: Legalább 95%‑os recall a csalási kísérleteknél
- Válaszidő: Admin API végpontok átlagos válaszideje < 200 ms
👥 Felelősségek
- Backend Lead: Phase 1 & 2
- Security Engineer: Phase 2 & 4
- API Developer: Phase 3
- QA Engineer: Tesztelés minden fázisban
Dokumentum frissítve: 2026‑03‑21
Verzió: 1.0