# Oltalama Test Yönetim Paneli Güvenlik farkındalık eğitimleri için basit ve etkili phishing test yönetim sistemi. ## ✨ Özellikler - 🏢 **Şirket Bazlı Yönetim** - Her şirket için ayrı tracking - 📧 **Gmail Entegrasyonu** - App Password ile kolay mail gönderimi - 💬 **Telegram Bildirimleri** - Gerçek zamanlı tıklama bildirimleri - 📊 **Detaylı İstatistikler** - IP, konum, cihaz bilgileri - 💾 **SQLite** - Tek dosya, kolay yedekleme - 🎨 **Modern UI** - React ile responsive admin paneli ## 🚀 Hızlı Başlangıç ### Backend ✅ TAMAMLANDI ```bash cd backend npm install # ✅ Yapıldı npm run db:migrate # ✅ Yapıldı npm run db:seed # ✅ Yapıldı npm run dev # ✅ Çalışıyor (background) ``` **API:** http://localhost:3000 **Default Admin:** admin / admin123 ### Frontend ✅ TAMAMLANDI ```bash cd frontend npm install # ✅ Yapıldı npm run dev # ✅ Çalışıyor (background) ``` **UI:** http://localhost:5173 **Default Admin:** admin / admin123 ## 📂 Proje Yapısı ``` oltalama/ ├── backend/ ✅ TAMAMLANDI (100%) │ ├── src/ │ │ ├── controllers/ ✅ 7 dosya (auth, company, token, vb.) │ │ ├── models/ ✅ 6 model + ilişkiler │ │ ├── routes/ ✅ 7 route dosyası │ │ ├── services/ ✅ Mail, Telegram, Token │ │ ├── utils/ ✅ GeoIP, User-Agent, Token Generator │ │ └── app.js ✅ │ └── database/ ✅ oltalama.db (3 şirket, 2 şablon) ├── frontend/ ✅ TAMAMLANDI (100%) │ ├── src/ │ │ ├── services/ ✅ 5 servis (auth, company, token, stats, template) │ │ ├── context/ ✅ Auth context │ │ ├── pages/ ✅ 5 sayfa (Login, Dashboard, Companies, Tokens, Settings) │ │ └── components/ ✅ Layout + Navigation └── devpan.md ✅ Detaylı plan ``` ## ✅ Backend Tamamlandı (Faz 1-7) ### 1️⃣ Authentication ✅ - [x] Session-based auth - [x] Login/Logout endpoints - [x] bcrypt password hashing - [x] Auth middleware ### 2️⃣ Company Management ✅ - [x] CRUD operations - [x] Company stats (auto-update) - [x] Company tokens listing - [x] Validators & routes ### 3️⃣ Token Management ✅ - [x] Unique token generation (crypto) - [x] Create with/without mail - [x] Company stats auto-update - [x] Click history ### 4️⃣ Tracking Endpoint ✅ - [x] `/t/:token` public endpoint - [x] IP address capture - [x] GeoIP location (geoip-lite) - [x] User-Agent parsing - [x] Landing page redirect ### 5️⃣ Telegram & Mail ✅ - [x] Telegram real-time notifications - [x] Gmail + Nodemailer integration - [x] Handlebars template rendering - [x] Test buttons in settings ### 6️⃣ Templates & Settings ✅ - [x] Mail templates (2 seeded) - [x] Template preview - [x] Settings CRUD - [x] Gmail/Telegram config ### 7️⃣ Stats & Analytics ✅ - [x] Dashboard stats - [x] Recent clicks - [x] Company-based stats - [x] Click logs with full details ## 📡 API Endpoints (35+) **Backend API çalışıyor:** http://localhost:3000 ``` ✅ /api/auth/* - 4 endpoints ✅ /api/companies/* - 7 endpoints ✅ /api/tokens/* - 8 endpoints ✅ /api/templates/* - 3 endpoints ✅ /api/settings/* - 5 endpoints ✅ /api/stats/* - 3 endpoints ✅ /t/:token - Public tracking ✅ /health - Health check ``` ## 🗄️ Database (SQLite) **Lokasyon:** `backend/database/oltalama.db` **6 Tablo - Tamamen İlişkili:** - ✅ companies (3 örnek: Türk Telekom, İş Bankası, PTT) - ✅ tracking_tokens (company_id FK) - ✅ click_logs (IP, GeoIP, User-Agent) - ✅ mail_templates (2 şablon: Banka, E-Devlet) - ✅ settings (Gmail, Telegram) - ✅ admin_user (admin/admin123) ## 🧪 Backend Test ```bash # Health check curl http://localhost:3000/health # Login curl -X POST http://localhost:3000/api/auth/login \ -H "Content-Type: application/json" \ -d '{"username":"admin","password":"admin123"}' # Get companies curl http://localhost:3000/api/companies # Get dashboard stats curl http://localhost:3000/api/stats/dashboard ``` ## 📊 Durum **Backend:** ✅ 100% Tamamlandı (37 dosya) **Frontend:** ✅ 100% Tamamlandı (15 dosya) **Dokümantasyon:** ✅ 4 dosya (README.md, devpan.md, KULLANIM.md, QUICKSTART.md) **Toplam Kaynak Kod:** 58 dosya **Toplam Satır:** 6677+ satır **Toplam İlerleme:** ✅ 100% Production Ready ### ✅ Tamamlanan Frontend Sayfaları **Core Pages:** - ✅ Login (Session-based auth) - ✅ Dashboard (Stats, recent clicks) - ✅ Companies (CRUD, grid view) - ✅ Tokens (Create & send, table view) - ✅ Settings (Gmail, Telegram config) **Components:** - ✅ Layout (Sidebar, header, mobile responsive) - ✅ Auth Context (Global auth state) - ✅ API Services (5 services) ### 🚀 Proje Hazır! Sistem kullanıma hazır. Gmail ve Telegram ayarlarını yaparak phishing testlerinizi başlatabilirsiniz. ## 📚 Dokümantasyon - **Ana Doküman:** `README.md` (bu dosya) - **Hızlı Başlangıç:** `QUICKSTART.md` ⚡ (5 dakika) - **Kullanım Kılavuzu:** `KULLANIM.md` 📖 (Detaylı) - **Development Plan:** `devpan.md` 🏗️ (Teknik detay) - **Backend API:** `backend/README.md` - **Frontend Guide:** `frontend/README.md` - **Gmail Setup:** `devpan.md` içinde - **Telegram Setup:** `devpan.md` içinde ## ⚠️ Güvenlik Uyarısı Bu sistem yalnızca yasal ve etik phishing testleri için tasarlanmıştır. Kötü niyetli kullanım yasaktır. --- **Versiyon:** 1.0.0 **Durum:** ✅ Production Ready **Son Güncelleme:** Backend ve Frontend tamamlandı - Sistem kullanıma hazır!