231 lines
5.8 KiB
Markdown
231 lines
5.8 KiB
Markdown
# 🚀 Hosting Platform - İş Akışı Dokümantasyonu
|
||
|
||
> Müşteri ve Admin panellerinin tüm iş akışlarını görsel diyagramlar ve detaylı açıklamalarla içeren kapsamlı dokümantasyon.
|
||
|
||
## 📚 Dokümantasyon Dosyaları
|
||
|
||
### 1. 📊 [WORKFLOW_DIAGRAMS.md](./WORKFLOW_DIAGRAMS.md)
|
||
Tüm görsel diyagramların açıklamaları ve kullanım kılavuzu.
|
||
|
||
**İçerik:**
|
||
- Genel iş akışları (Müşteri + Admin)
|
||
- Domain setup detaylı sequence diagram
|
||
- API endpoint yapısı
|
||
- Veritabanı şemaları (ER diagrams)
|
||
- Sistem mimarisi
|
||
|
||
### 2. 📖 [WORKFLOW_DOCUMENTATION.md](./WORKFLOW_DOCUMENTATION.md)
|
||
Detaylı teknik dokümantasyon ve API referansı.
|
||
|
||
**İçerik:**
|
||
- Proje genel bakış
|
||
- Müşteri panel iş akışları (adım adım)
|
||
- Admin panel iş akışları (adım adım)
|
||
- Tüm API endpoint'lerin detaylı açıklaması
|
||
- Veritabanı SQL şemaları
|
||
- Sistem mimarisi ve deployment
|
||
- Güvenlik yapılandırması
|
||
- Monitoring ve logging
|
||
|
||
---
|
||
|
||
## 🎯 Hızlı Başlangıç
|
||
|
||
### Müşteri Panel İş Akışı Özeti
|
||
|
||
```
|
||
1. Kayıt/Giriş → JWT Token
|
||
2. Dashboard → Domain Listesi
|
||
3. Domain Ekle:
|
||
├─ Domain Doğrula
|
||
├─ CF Hesap Seç (Company/Own)
|
||
├─ Zone Doğrula
|
||
├─ NS Kontrolü
|
||
├─ DNS Önizleme
|
||
├─ DNS Uygula
|
||
├─ SSL Yapılandır
|
||
└─ Kaydet
|
||
4. Container Deploy (opsiyonel)
|
||
5. Plan Yükselt (opsiyonel)
|
||
```
|
||
|
||
### Admin Panel İş Akışı Özeti
|
||
|
||
```
|
||
1. Admin Giriş → JWT + Audit Log
|
||
2. Dashboard → İstatistikler
|
||
3. Yönetim:
|
||
├─ Müşteriler (Liste, Detay, Plan Güncelle)
|
||
├─ Planlar (CRUD, Limit Ayarla)
|
||
├─ CF Hesapları (CRUD, Token Şifrele)
|
||
└─ Audit Logs (Görüntüle, Filtrele)
|
||
```
|
||
|
||
---
|
||
|
||
## 🔍 Görsel Diyagramlar
|
||
|
||
Tüm diyagramlar interaktif Mermaid formatında oluşturulmuştur ve düzenlenebilir.
|
||
|
||
### Mevcut Diyagramlar
|
||
|
||
1. **Müşteri Panel - Genel İş Akışı**
|
||
- Kimlik doğrulama
|
||
- Dashboard navigasyonu
|
||
- Domain yönetimi (8 adım)
|
||
- Container deployment
|
||
- Abonelik yönetimi
|
||
|
||
2. **Admin Panel - Genel İş Akışı**
|
||
- Admin authentication
|
||
- Müşteri yönetimi
|
||
- Plan yönetimi
|
||
- CF hesap yönetimi
|
||
- Audit sistemi
|
||
|
||
3. **Domain Setup - Sequence Diagram**
|
||
- Kullanıcı → Frontend → API → Database → Cloudflare
|
||
- Tüm adımların detaylı akışı
|
||
- Hata senaryoları
|
||
|
||
4. **API Endpoint Yapısı - Müşteri Panel**
|
||
- 5 ana kategori
|
||
- 20+ endpoint
|
||
|
||
5. **API Endpoint Yapısı - Admin Panel**
|
||
- 5 ana kategori
|
||
- 15+ endpoint
|
||
|
||
6. **Veritabanı Şeması - Müşteri Panel**
|
||
- 5 ana tablo
|
||
- İlişkiler (ER diagram)
|
||
|
||
7. **Veritabanı Şeması - Admin Panel**
|
||
- 4 ana tablo
|
||
- İlişkiler (ER diagram)
|
||
|
||
8. **Sistem Mimarisi - Genel Bakış**
|
||
- 6 katman
|
||
- Tüm bileşenler ve bağlantılar
|
||
|
||
9. **Kimlik Doğrulama Akışı**
|
||
- Müşteri vs Admin karşılaştırması
|
||
- Güvenlik katmanları
|
||
|
||
10. **Data Flow - Sistem Geneli**
|
||
- Kullanıcıdan infrastructure'a veri akışı
|
||
- Tüm servisler arası iletişim
|
||
|
||
---
|
||
|
||
## 🛠️ Diyagramları Düzenleme
|
||
|
||
Tüm diyagramlar Mermaid syntax ile oluşturulmuştur. Düzenlemek için:
|
||
|
||
### Online Editör
|
||
1. [Mermaid Live Editor](https://mermaid.live/) açın
|
||
2. Diyagram kodunu kopyalayın
|
||
3. Düzenleyin ve önizleyin
|
||
4. Export edin (PNG, SVG, PDF)
|
||
|
||
### VS Code
|
||
1. "Markdown Preview Mermaid Support" eklentisini yükleyin
|
||
2. Markdown dosyasını açın
|
||
3. Preview'da diyagramları görün
|
||
|
||
### Örnek Mermaid Kodu
|
||
```mermaid
|
||
graph TB
|
||
A[Başlangıç] --> B{Karar}
|
||
B -->|Evet| C[İşlem 1]
|
||
B -->|Hayır| D[İşlem 2]
|
||
C --> E[Son]
|
||
D --> E
|
||
```
|
||
|
||
---
|
||
|
||
## 📋 API Endpoint Hızlı Referans
|
||
|
||
### Müşteri Panel (Port 5000)
|
||
|
||
| Kategori | Endpoint | Method | Açıklama |
|
||
|----------|----------|--------|----------|
|
||
| Auth | `/api/auth/register` | POST | Yeni kullanıcı kaydı |
|
||
| Auth | `/api/auth/login` | POST | Kullanıcı girişi |
|
||
| Customer | `/api/customer/domains` | GET | Domain listesi |
|
||
| DNS | `/api/dns/validate-domain` | POST | Domain doğrulama |
|
||
| DNS | `/api/dns/apply-changes` | POST | DNS değişikliklerini uygula |
|
||
|
||
### Admin Panel (Port 5001)
|
||
|
||
| Kategori | Endpoint | Method | Açıklama |
|
||
|----------|----------|--------|----------|
|
||
| Auth | `/api/auth/login` | POST | Admin girişi |
|
||
| Plans | `/api/plans` | GET/POST | Plan listesi/oluştur |
|
||
| CF Accounts | `/api/cf-accounts` | GET/POST | CF hesap yönetimi |
|
||
| Customers | `/api/customers` | GET | Müşteri listesi |
|
||
| Audit | `/api/audit/logs` | GET | Audit log listesi |
|
||
|
||
---
|
||
|
||
## 🔒 Güvenlik Özeti
|
||
|
||
- **Authentication**: JWT tokens (24 saat geçerlilik)
|
||
- **Password**: bcrypt hashing
|
||
- **API Tokens**: Fernet encryption
|
||
- **CORS**: Domain-specific policies
|
||
- **Database**: Separate databases (isolation)
|
||
- **HTTPS**: Cloudflare SSL (Full mode)
|
||
|
||
---
|
||
|
||
## 📊 Veritabanı Özeti
|
||
|
||
### Müşteri Panel (hosting_db)
|
||
- **users**: 5 tablo
|
||
- **customers**: Kullanıcı hesapları
|
||
- **domains**: Müşteri profilleri
|
||
- **dns_records**: Domain kayıtları
|
||
- **cloudflare_accounts**: DNS detayları
|
||
|
||
### Admin Panel (admin_hosting_db)
|
||
- **admin_users**: 4 tablo
|
||
- **subscription_plans**: Admin hesapları
|
||
- **cloudflare_accounts**: Abonelik planları
|
||
- **audit_logs**: Audit kayıtları
|
||
|
||
---
|
||
|
||
## 🚀 Deployment Özeti
|
||
|
||
```bash
|
||
# Frontend Build
|
||
cd MusteriPanel/frontend && npm run build
|
||
cd AdminPanel/frontend && npm run build
|
||
|
||
# Database Migration
|
||
cd MusteriPanel/backend && flask db upgrade
|
||
cd AdminPanel/backend && flask db upgrade
|
||
|
||
# Start Services
|
||
sudo supervisorctl start all
|
||
```
|
||
|
||
---
|
||
|
||
## 📞 İletişim ve Destek
|
||
|
||
- **Repository (Müşteri)**: https://gitea.argeict.net/hostadmin/hosting-platform
|
||
- **Repository (Admin)**: https://gitea.argeict.net/argeict/admin-panel
|
||
- **Production (Müşteri)**: https://argeict.net
|
||
- **Production (Admin)**: https://admin.argeict.net
|
||
|
||
---
|
||
|
||
**Son Güncelleme**: 2024-01-12
|
||
**Versiyon**: 1.0.0
|
||
**Durum**: ✅ Production Ready
|
||
|
||
|