Skip to content

Latest commit

 

History

History
350 lines (263 loc) · 9.02 KB

File metadata and controls

350 lines (263 loc) · 9.02 KB

🎯 OTOMASYON SİSTEMİ - KURULUM VE KULLANIM REHBERI

📋 Neler Oluşturuldu?

✅ Tam Fonksiyonel Java Otomasyon Sistemi

Proje /Users/elis/Desktop/otomasyon klasörüne kurulmuştur.


🚀 HEMEN BAŞLAMAK İÇİN

Adım 1: Gerekli Yazılımları Kur

macOS:

# Java 11+ Kur
brew install openjdk@11

# Maven Kur
brew install maven

# Kontrol Et
java -version
mvn -version

Adım 2: Projeye Git

cd /Users/elis/Desktop/otomasyon

Adım 3: Kurulum Scripti Çalıştır (Opsiyonel)

bash install.sh

Adım 4: Projeyi Derle

mvn clean compile

Adım 5: Testleri Çalıştır

mvn test

Adım 6: Uygulamayı Çalıştır

Seçenek 1 - Script Kullanarak:

bash run.sh

Seçenek 2 - Maven Kullanarak (Temel Demo):

mvn exec:java -Dexec.mainClass="com.otomasyon.AutomationSystemDemo"

Seçenek 3 - Maven Kullanarak (Gerçek Dünya Örneği):

mvn exec:java -Dexec.mainClass="com.otomasyon.RealWorldAutomationExample"

📦 Proje İçeriği

📁 Dosya Yapısı

otomasyon/
├── src/
│   ├── main/java/com/otomasyon/
│   │   ├── AutomationSystemDemo.java           # 🎯 Temel Demo
│   │   ├── RealWorldAutomationExample.java     # 🎯 Gerçek Dünya Örneği
│   │   ├── core/
│   │   │   ├── AutomationTask.java             # 📋 Görev Arayüzü
│   │   │   └── TaskExecutionResult.java        # 📊 Sonuç Takibi
│   │   ├── scheduler/
│   │   │   └── AutomationScheduler.java        # ⚙️ Zamanlayıcı
│   │   ├── tasks/
│   │   │   ├── BaseAutomationTask.java         # 🔧 Temel Görev
│   │   │   ├── DataProcessingTask.java         # 📝 Veri İşleme
│   │   │   ├── FileOperationTask.java          # 📁 Dosya İşlemleri
│   │   │   ├── ReportGenerationTask.java       # 📄 Rapor
│   │   │   └── SystemCommandTask.java          # 🖥️ Sistem Komutları
│   │   └── config/
│   │       └── ConfigurationLoader.java        # ⚙️ Konfigürasyon
│   ├── test/java/com/otomasyon/
│   │   └── AutomationSystemTest.java           # 🧪 Testler
│   └── resources/
│       └── logback.xml                         # 📝 Loglama Ayarları
├── config/
│   └── automation-config.json                  # ⚙️ JSON Config
├── pom.xml                                     # 🔨 Maven Yapılandırması
├── README.md                                   # 📖 Detaylı Açıklama
├── QUICKSTART.md                               # 🚀 Hızlı Başlangıç
├── FEATURES.md                                 # ✨ Özellikler
├── install.sh                                  # 📦 Kurulum Scripti
└── run.sh                                      # ▶️ Çalıştırma Scripti

🎯 ANA ÖZELLİKLER

1. Görev Zamanlama

  • ⏱️ Hemen çalıştırma
  • ⏰ Belirtilen zaman sonra çalıştırma
  • 🔄 Periyodik çalıştırma
  • ⏲️ Sabit gecikmeli çalıştırma

2. Görev Türleri

  • 📝 Veri İşleme: Metin dönüştürme (UPPERCASE, LOWERCASE, REVERSE, COUNT)
  • 📁 Dosya İşlemleri: Kopyalama, taşıma, silme, yedekleme
  • 📄 Rapor Oluşturma: Otomatik rapor üretimi
  • 🖥️ Sistem Komutları: Shell komutlarını çalıştırma
  • 🔧 Özel Görevler: Kendi görevlerinizi yazabilirsiniz

3. İzleme ve Raporlama

  • 📊 Çalışma geçmişi takibi
  • 🚨 Hata yönetimi
  • ⏱️ Zaman ölçümü
  • 📝 Detaylı loglama

4. Concurrency

  • 🔀 Thread pool tabanlı
  • 🔒 Thread güvenli
  • ⚡ Eşzamanlı çalıştırma

💻 HIZLI ÖRNEKLER

Örnek 1: Hemen Veri İşlemesi

import com.otomasyon.scheduler.AutomationScheduler;
import com.otomasyon.tasks.DataProcessingTask;

AutomationScheduler scheduler = new AutomationScheduler(2);

DataProcessingTask task = new DataProcessingTask(
    "Büyük Harfe Çevir",
    "merhaba otomasyon",
    DataProcessingTask.ProcessingType.UPPERCASE
);

scheduler.executeNow(task);
scheduler.shutdown();

Örnek 2: Periyodik Görev

scheduler.scheduleRepeatedly(task, 0, 10, TimeUnit.SECONDS);
// Her 10 saniyede bir çalışır

Örnek 3: Dosya Yedekleme

FileOperationTask backup = new FileOperationTask(
    "Günlük Yedek",
    "data/myfile.txt",
    "backups/myfile_backup.txt",
    FileOperationTask.OperationType.COPY
);

scheduler.executeNow(backup);

Örnek 4: Sistem Komutu

SystemCommandTask cmd = new SystemCommandTask(
    "Disk Durumu",
    "df -h"
);

scheduler.executeNow(cmd);

📚 ÖNEMLİ DOSYALAR

Dosya Açıklama
README.md 📖 Detaylı proje açıklaması
QUICKSTART.md 🚀 Adım adım başlangıç rehberi
FEATURES.md ✨ Tüm özellikler ve detaylar
AutomationSystemDemo.java 🎯 Temel örnekler
RealWorldAutomationExample.java 🌍 Gerçek dünya senaryosu

🔨 YAYGINDA KULLANILAN KOMUTLAR

# Derleme
mvn clean compile

# Test
mvn test

# Hep Çalışma
mvn exec:java -Dexec.mainClass="com.otomasyon.AutomationSystemDemo"

# Gerçek Dünya Örneği
mvn exec:java -Dexec.mainClass="com.otomasyon.RealWorldAutomationExample"

# Çıkışa Paket Hazırla
mvn package

# Jar Dosyasını Çalıştır
java -jar target/automation-system-1.0.0.jar

🎓 ÖĞRENME YOLU

  1. Temel Tanı

    • README.md oku
    • AutomationSystemDemo.java incele
  2. Uygulamayı Çalıştır

    • bash run.sh komutunu kullan
    • Çıktıyı gözlemle
  3. Kodu Incele

    • src/main/java/com/otomasyon/tasks/ klasörü incele
    • Görev türlerini anla
  4. Özel Görev Yaz

    • BaseAutomationTask extend et
    • Kendi görevin oluştur
  5. Genişlet

    • Yeni görev türleri ekle
    • Veritabanı entegrasyonu yap

🐛 SORUN ÇÖZME

Problem: "Java not found"

# Java kur
brew install openjdk@11

# Yolunu kontrol et
which java

Problem: "Maven not found"

# Maven kur
brew install maven

# Yolunu kontrol et
which mvn

Problem: "Compilation error"

# Temiz derleme
mvn clean compile

# Ayrıntılı hata
mvn clean compile -X

Problem: "Test hatası"

# Testleri atla
mvn clean compile -DskipTests

📊 SİSTEM MIMARISI

┌─────────────────────────────────────────┐
│       AutomationScheduler               │
│    (Merkezi Zamanlama ve Yönetim)       │
└──────────┬──────────────────────────────┘
           │
    ┌──────┴──────┬──────────┬──────────┐
    │             │          │          │
┌───▼────┐  ┌────▼──┐  ┌───▼────┐  ┌──▼──────┐
│ Thread │  │Thread │  │ Thread │  │ Thread  │
│ Pool   │  │ Pool  │  │ Pool   │  │ Pool    │
└───┬────┘  └────┬──┘  └───┬────┘  └──┬──────┘
    │            │         │         │
    ├────────────┼─────────┼─────────┤
    │            │         │         │
┌───▼─────────────▼──────────▼─────────▼─────┐
│         Görev Yürütme Çerçevesi              │
│  ┌──────┬──────┬──────┬──────┬──────┐       │
│  │ Data │ File │Report│System│Custom│       │
│  │Process│Operation││Command│Tasks│       │
│  └──────┴──────┴──────┴──────┴──────┘       │
└──────┬──────────────────────────────────────┘
       │
    ┌──┴──┐
    │     │
┌───▼──┐ ┌▼────────┐
│Logger│ │ History │
│      │ │ Tracker │
└──────┘ └─────────┘

🌟 İleri Özellikler

  • ✅ JSON tabanlı konfigürasyon
  • ✅ Concurrent görev yürütme
  • ✅ Otomatik hata takibi
  • ✅ Performans ölçümü
  • ✅ Loglama sistematiği
  • ✅ Genişletilebilir mimarı

📞 YARDIM

Sorulara cevapları bul:

  1. README.md - Genel bilgiler
  2. QUICKSTART.md - Başlangıç
  3. FEATURES.md - Özellikler
  4. AutomationSystemDemo.java - Kod örnekleri

✨ BAŞARILAR!

Sistem tamamen kurulu ve çalışmaya hazır! 🚀

Sorunuz varsa veya daha fazla bilgi isterseniz yardımcı olmaktan mutluyum.

Happy Automating! 🤖