átlagos kiegészítséek jó sok

This commit is contained in:
Roo
2026-03-22 11:02:05 +00:00
parent f53e0b53df
commit 5d44339f21
249 changed files with 20922 additions and 2253 deletions

173
docs/admin_system_epic.md Normal file
View File

@@ -0,0 +1,173 @@
# 🏛️ 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
- [ ] **`SystemParameter` tá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
- [ ] **`ConfigService` osztály** megírása a következőkkel:
- [ ] `get(key, default=None)` metódus
- [ ] `set(key, value)` metódus (csak admin)
- [ ] Inmemory 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/config` a 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` és `identity.user_trust_profile` tá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`)
- [ ] **`UserTrustProfile` tábla bővítése** `role` és `permissions` mezőkkel
- [ ] **Alembic migráció** a mezők hozzáadásához
- [ ] **`AdminSecurity` dependency** létrehozása a következőkkel:
- [ ] `require_role(role)` dekorátor
- [ ] `require_permission(permission)` dekorátor
- [ ] Scope ellenőrzés (organization, global)
- [ ] **`/api/v1/admin` router 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ás
- [ ] `DELETE /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és
- [ ] `DELETE /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és
- [ ] `PUT /admin/services/{service_id}/suspend` felfüggesztés
- [ ] **KYC dokumentumok:**
- [ ] `GET /admin/kyc/pending` függőben lévő kérelmek
- [ ] `PUT /admin/kyc/{request_id}/review` áttekintés és döntés
- [ ] **Audit naplózás** minden admin művelethez (`audit.admin_actions` tá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 IPről ( >100/óra)
- [ ] Tömeges helyadatmó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
- [ ] **`AnomalyDetector` service** 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_events` táblába
- [ ] Riasztás generálás (email, Slack, inapp 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
1. **v2.1 Admin Dashboard UI** (Frontend epic) a fenti API-k felhasználásával
2. **v2.2 Realtime Notification System** WebSocketalapú értesítések adminoknak
3. **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 numberek számában
- **RBAC teljes lefedettség:** Minden admin végpont védett szerepköralapú 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: 20260321*
*Verzió: 1.0*