hosting-platform/README_WORKFLOW.md

231 lines
5.8 KiB
Markdown
Raw 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.

# 🚀 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