Skip to content

Latest commit

 

History

History
355 lines (261 loc) · 6.98 KB

File metadata and controls

355 lines (261 loc) · 6.98 KB

🎨 Özelleştirme Rehberi

Bu proje generic bir template'tir. Kendi ihtiyaçlarınıza göre özelleştirebilirsiniz.


🏷️ İsim ve Branding Değiştirme

1. Sistem İsmi

Dosya: config/config.yaml

system:
  name: "Kendi Sistem Adınız"      # Değiştirin
  version: "2.0.0"
  description: "Açıklamanız"
  vendor: "Şirket Adınız"           # Değiştirin

2. UI Branding

Dosya: config/ui_layout.yaml

branding:
  app_name: "Uygulama Adınız"       # Değiştirin
  app_subtitle: "Alt başlık"
  logo: "/assets/logo.png"          # Kendi logonuzu ekleyin
  favicon: "/assets/favicon.ico"
  theme_color: "#f59e0b"            # Kendi renginizi seçin

3. Docker Container İsimleri

Dosya: docker-compose.yml

services:
  backend:
    container_name: sizin-backend   # Değiştirin
  
  frontend:
    container_name: sizin-frontend  # Değiştirin

networks:
  sizin-network:                    # Değiştirin
    driver: bridge

4. README ve Dokümantasyon

Tüm dokümantasyon dosyalarında "Camera Control System" yerine kendi isminizi kullanın:

  • README.md
  • docs/ARCHITECTURE.md
  • docs/USAGE_EXAMPLES.md
  • docs/CHANGELOG.md

Toplu değiştirme:

# Linux/Mac
find . -type f -name "*.md" -exec sed -i 's/Camera Control System/Sizin Sistem Adınız/g' {} +

# Veya manuel olarak her dosyayı düzenleyin

🎨 Tema ve Renkler

Tailwind Renkleri

Dosya: config/ui_layout.yaml

theme:
  mode: "dark"                      # dark, light, auto
  primary_color: "amber"            # Değiştirin: blue, green, red, purple, etc.
  accent_color: "orange"            # Değiştirin
  
  colors:
    background: "#0f172a"           # Ana arkaplan
    surface: "#1e293b"              # Kart/panel arkaplanı
    border: "#334155"               # Kenarlık rengi
    text_primary: "#f1f5f9"         # Ana metin
    text_secondary: "#94a3b8"       # İkincil metin

Logo ve Favicon

  1. Logonuzu frontend/public/assets/logo.png olarak kaydedin
  2. Favicon'unuzu frontend/public/assets/favicon.ico olarak kaydedin
  3. config/ui_layout.yaml'da path'leri güncelleyin

🔐 Güvenlik Özelleştirmeleri

1. JWT Secret (ÖNEMLİ!)

Dosya: config/config.yaml

server:
  jwt_secret: "BURAYA-GÜÇLÜ-BİR-SECRET-KEY-YAZIN"  # Mutlaka değiştirin!

Güçlü secret oluşturma:

# Python ile
python3 -c "import secrets; print(secrets.token_urlsafe(32))"

# OpenSSL ile
openssl rand -base64 32

2. Kullanıcı Şifreleri

Dosya: config/config.yaml

users:
  - username: "admin"
    password: "GÜÇLÜ-ŞİFRE"         # Değiştirin!
    role: "admin"

3. CORS Origins

Dosya: config/config.yaml

server:
  cors_origins:
    - "http://localhost:3000"       # Development
    - "https://sizin-domain.com"    # Production - ekleyin

📹 Kamera Konfigürasyonu

Kendi Kameralarınızı Ekleyin

Dosya: config/cameras.yaml

cameras:
  - id: "sizin-kamera-id"           # Benzersiz ID
    name: "Kamera İsmi"
    type: "daylight"                # daylight, thermal, ptz
    enabled: true
    
    stream:
      url: "rtsp://KAMERA-IP:554/stream1"  # Kendi RTSP URL'iniz
      username: "admin"
      password: "şifre"
    
    ptz:
      protocol: "tcp"               # tcp, udp, serial, visca
      host: "KAMERA-IP"
      port: 4000

Transport Protokolü Seçimi

TCP (Ethernet):

ptz:
  protocol: "tcp"
  host: "192.168.1.100"
  port: 4000

UDP (Düşük gecikme):

ptz:
  protocol: "udp"
  host: "192.168.1.100"
  port: 4001

Serial (RS-232/RS-485):

ptz:
  protocol: "serial"
  device: "/dev/ttyUSB0"
  baudrate: 9600

VISCA (Sony kameralar):

ptz:
  protocol: "visca"
  device: "/dev/ttyUSB0"
  baudrate: 9600
  camera_address: 1

🌐 Network Ayarları

Port Değiştirme

Dosya: docker-compose.yml

services:
  backend:
    ports:
      - "8000:8000"                 # Sol taraf: Host port (değiştirin)
  
  frontend:
    ports:
      - "3000:3000"                 # Sol taraf: Host port (değiştirin)

Dosya: config/config.yaml

server:
  host: "0.0.0.0"
  port: 8000                        # Backend port (değiştirin)

📦 Özel Özellikler Ekleme

Yeni Transport Protokolü

  1. backend/app/transport/ dizinine yeni dosya ekleyin
  2. CameraTransport sınıfından türetin
  3. TransportFactory'ye kaydedin

Örnek: backend/app/transport/websocket.py

from .base import NetworkTransport

class WebSocketTransport(NetworkTransport):
    async def connect(self):
        # WebSocket bağlantı mantığı
        pass

Yeni UI Sayfası

  1. frontend/src/components/ dizinine component ekleyin
  2. config/ui_layout.yaml'a sayfa tanımı ekleyin
navigation:
  - id: "yeni-sayfa"
    label: "Yeni Sayfa"
    icon: "🆕"
    path: "/yeni-sayfa"
    permission: "camera:view"

🎯 Production Deployment

Environment Variables

Production'da hassas bilgileri environment variable olarak geçin:

# .env dosyası oluşturun (git'e commit etmeyin!)
JWT_SECRET=güçlü-secret-key
DB_PASSWORD=database-şifresi
ADMIN_PASSWORD=admin-şifresi

docker-compose.yml'de kullanın:

services:
  backend:
    environment:
      - JWT_SECRET=${JWT_SECRET}
      - DB_PASSWORD=${DB_PASSWORD}

SSL/HTTPS

  1. SSL sertifikası edinin (Let's Encrypt önerilir)
  2. Nginx config'e ekleyin
  3. config/config.yaml'da SSL'i aktif edin
security:
  ssl:
    enabled: true
    cert_file: "/certs/cert.pem"
    key_file: "/certs/key.pem"

📝 Özelleştirme Checklist

Kurulum Öncesi

  • config/config.yaml - Sistem adı ve vendor
  • config/config.yaml - JWT secret değiştir
  • config/config.yaml - Tüm şifreleri değiştir
  • config/ui_layout.yaml - App name ve branding
  • config/cameras.yaml - Kendi kameralarını ekle
  • docker-compose.yml - Container isimleri
  • Logo ve favicon ekle

Production Öncesi

  • CORS origin'leri güncelle
  • SSL/HTTPS aktif et
  • Environment variables kullan
  • Rate limiting aktif et
  • Firewall kuralları ayarla
  • Backup stratejisi belirle
  • Log seviyesini WARNING'e çek

Opsiyonel

  • README.md'yi özelleştir
  • Tema renklerini değiştir
  • Özel özellikler ekle
  • Database değiştir (PostgreSQL)
  • Cache ekle (Redis)

🆘 Yardım

Özelleştirme sırasında sorun yaşarsanız:

  1. Dokümantasyonu okuyun:

  2. Logları kontrol edin:

    docker compose logs backend
    docker compose logs frontend
  3. Config'i validate edin:

    python3 -c "import yaml; yaml.safe_load(open('config/config.yaml'))"

Başarılar! Kendi özelleştirilmiş kamera kontrol sisteminizi oluşturun! 🚀