hosting-platform/README_WORKFLOW.md

231 lines
5.8 KiB
Markdown
Raw Normal View History

# 🚀 Hosting Platform - İş Akışı Dokümantasyonu
> Müşteri ve Admin panellerinin tüm iş akışlarını görsel diyagramlar ve detaylıı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ıı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ıı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