Files
balikci/frontend/README.md
salvacybersec 20191eb35d feat: Mail template management UI and API CRUD
- Added full CRUD endpoints for mail templates (create, update, delete, preview)
- Introduced Joi validators for template create/update/preview
- Updated routes/controller to support ID and type lookups
- Built React Templates page with HTML editor, preview, and clipboard helpers
- Added navigation entry and route for /templates
- Enhanced documentation (README, QUICKSTART, KULLANIM, frontend/backend README)
2025-11-10 17:27:19 +03:00

159 lines
3.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Oltalama Frontend
Modern ve responsive phishing test yönetim paneli frontend'i.
## ✨ Özellikler
- 🎨 **Material-UI** - Modern UI component library
-**Vite** - Hızlı development server
- 🔐 **Session Auth** - Context-based authentication
- 📱 **Responsive** - Mobile-first tasarım
- 🎯 **6 Sayfa** - Login, Dashboard, Companies, Tokens, Templates, Settings
## 🚀 Kurulum
```bash
npm install
cp .env.example .env
# VITE_API_URL=http://localhost:3000 olarak ayarlayın
npm run dev
```
**URL:** http://localhost:5173
**Default Login:** admin / admin123
## 📄 Sayfalar
### 🔑 Login
- Session-based authentication
- Form validation
- Auto redirect on success
### 📊 Dashboard
- Genel istatistikler (şirket, token, tıklama)
- Başarı oranı kartı
- Şirket performans tablosu
- Son tıklamalar listesi
### 🏢 Companies
- Grid view ile şirket kartları
- Create/Edit/Delete modal
- Şirket bazlı istatistikler
- Click-through to detail
### 🔗 Tokens
- Tüm tokenlar tablo görünümü
- Token oluştur + mail gönder
- Durum badge'leri (Tıklandı/Bekliyor)
- Tıklama sayısı tracking
- Detay sayfası (tıklama geçmişi, IP & cihaz)
### ✉️ Mail Şablonları
- Tüm şablonların listesi (aktif/pasif)
- HTML editörü + Handlebars değişkenleri
- Önizleme (iframe) & tam ekran preview
- Template type kopyalama, aktif/pasif toggle
- Oluştur / Düzenle / Sil işlemleri
### ⚙️ Settings
- Gmail yapılandırması
- Telegram yapılandırması
- Test butonları (mail & telegram)
- Gerçek zamanlı feedback
## 🎨 UI Komponenti
### Layout
- Sidebar navigation
- Responsive drawer (mobile)
- User menu (logout)
- Material-UI theming
### Services
- `api.js` - Axios instance (credentials, base URL)
- `authService.js` - Login/logout/check
- `companyService.js` - Company CRUD
- `tokenService.js` - Token CRUD + send
- `statsService.js` - Dashboard stats
- `templateService.js` - Mail templates
### Context
- `AuthContext` - Global auth state
- Auto session check on mount
- Protected routes
## 🛠️ Teknolojiler
- **React 18** - UI library
- **Vite** - Build tool
- **Material-UI v6** - Component library
- **React Router v7** - Routing
- **Axios** - HTTP client
- **date-fns** - Date formatting
## 📦 Build
```bash
# Development
npm run dev
# Production build
npm run build
# Preview production build
npm run preview
```
## 🔐 Environment Variables
```env
VITE_API_URL=http://localhost:3000
```
**Not:** Vite sadece `VITE_` prefix'li değişkenleri expose eder.
## 📁 Yapı
```
src/
├── components/
│ └── Layout/
│ └── Layout.jsx - Main layout with sidebar
├── context/
│ └── AuthContext.jsx - Authentication context
├── pages/
│ ├── Login.jsx - Login page
│ ├── Dashboard.jsx - Stats dashboard
│ ├── Companies.jsx - Company management
│ ├── Tokens.jsx - Token management
│ └── Settings.jsx - System settings
├── services/
│ ├── api.js - Axios instance
│ ├── authService.js - Auth endpoints
│ ├── companyService.js - Company endpoints
│ ├── tokenService.js - Token endpoints
│ ├── statsService.js - Stats endpoints
│ └── templateService.js - Template endpoints
├── App.jsx - Main app with routing
├── main.jsx - App entry point
└── index.css - Global styles
```
## ✅ Durum
**Tamamlanan:**
- ✅ Login & Authentication
- ✅ Protected routes
- ✅ Dashboard with stats
- ✅ Company management (CRUD)
- ✅ Token management (CRUD + send + detay)
- ✅ Mail templates (CRUD + preview)
- ✅ Settings (Gmail + Telegram)
- ✅ Responsive layout
- ✅ Material-UI theming
- ✅ Error handling
- ✅ Loading states
**Production Ready!** 🎉