Skip to content

Latest commit

 

History

History
280 lines (213 loc) · 5.62 KB

File metadata and controls

280 lines (213 loc) · 5.62 KB

Web Otomasyon Sistemi - Başlangıç Rehberi

🌐 Web Arayüzü Nedir?

Web arayüzü sayesinde otomasyon sisteminizi tarayıcı üzerinden yönetebilirsiniz. Görevleri oluşturabilir, çalıştırabilir, geçmişini izleyebilirsiniz.

📋 Özellikler

🏠 Dashboard

  • Sistem durumu özeti
  • Zamanlanmış görev sayısı
  • Son çalışmalar
  • Hızlı istatistikler

📋 Görevler Sayfası

  • Zamanlanmış görevleri listele
  • Görevleri iptal et
  • Görev türlerine göre filtrele

📊 Geçmiş Sayfası

  • Tüm çalışmaları görüntüle
  • Başarılı/başarısız çalışmalar
  • İstatistikler
  • Geçmişi temizle

➕ Yeni Görev Sayfası

  • 4 görev türü destekler:
    • Veri İşleme
    • Dosya İşlemi
    • Rapor Oluşturma
    • Sistem Komutu

🚀 Çalıştırma

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

# macOS
brew install openjdk@11 maven

# Linux (Ubuntu/Debian)
sudo apt-get install openjdk-11-jdk maven

# Windows
# https://adoptopenjdk.net/ ve https://maven.apache.org/ adresinden indir

Adım 2: Projeyi Derle

cd /Users/elis/Desktop/otomasyon
mvn clean compile

Adım 3: Web Uygulamasını Çalıştır

mvn spring-boot:run

Veya:

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

Adım 4: Tarayıcıda Aç

http://localhost:8080

📸 Sayfalar

Dashboard (/)

Ana sayfa. Sistem özeti, istatistikler ve hızlı erişim.

🏠 Localhost:8080/
├── Zamanlanmış Görevler
├── Toplam Çalışma
├── Son Çalışmalar
└── Hızlı İşlemler

Görevler (/tasks)

Zamanlanmış görevleri yönetin.

📋 Localhost:8080/tasks
├── Aktif Görevler Listesi
├── Her Görev Türüne Bir Örnek
└── Görev İşlemleri

Geçmiş (/history)

Tüm çalışmaların kaydı.

📊 Localhost:8080/history
├── Başarılı/Başarısız Sayıları
├── Çalışma Listesi
└── İstatistikler

Yeni Görev (/create-task)

Yeni görev oluşturun.

➕ Localhost:8080/create-task
├── Görev Türü Seçimi
├── Görev Ayrıntıları
└── Zamanlama Seçenekleri

🔌 REST API Endpoints

Zamanlanmış Görevler

GET /api/tasks/scheduled
Response: { count: 2, tasks: ["Görev 1", "Görev 2"] }

Çalışma Geçmişi

GET /api/tasks/history
Response: { total: 10, history: [...] }

Belirli Görevin Geçmişi

GET /api/tasks/history/{taskName}
Response: { taskName: "X", count: 5, history: [...] }

Veri İşleme Görevi Çalıştır

POST /api/tasks/execute/data-processing
Body: {
  "name": "Metin Dönüştürme",
  "data": "merhaba",
  "operation": "UPPERCASE"
}

Rapor Oluştur

POST /api/tasks/execute/report
Body: {
  "name": "Günlük Rapor",
  "outputPath": "/reports/daily.txt",
  "content": "Rapor içeriği"
}

Sistem Komutu Çalıştır

POST /api/tasks/execute/command
Body: {
  "name": "Komut",
  "command": "ls -la"
}

Görevi İptal Et

DELETE /api/tasks/{taskName}
Response: { message: "Görev iptal edildi" }

Geçmişi Temizle

DELETE /api/tasks/history/clear
Response: { message: "Geçmiş temizlendi" }

🎨 Tasarım

Modern ve kullanıcı dostu arayüz:

  • Responsive design (mobil uyumlu)
  • Koyu/açık tema desteği
  • Hızlı yükleme
  • İnteraktif bileşenler

🔧 Konfigürasyon

application.properties dosyasını düzenleyin:

server.port=8080                    # Port numarası
spring.thymeleaf.cache=false        # Template caching
logging.level.com.otomasyon=DEBUG   # Log seviyesi

🐳 Docker ile Çalıştırma

# Image oluştur ve çalıştır
docker-compose up -d

# Logları göster
docker-compose logs -f

# Kapat
docker-compose down

📊 Teknoloji Stack

  • Backend: Spring Boot 2.7
  • Frontend: HTML5, CSS3, Vanilla JavaScript
  • API: REST (JSON)
  • Database: In-Memory (İsteğe bağlı)
  • Containerization: Docker

⚡ Performans

  • Veri her 5 saniyede otomatik güncellenir
  • AJAX ile sayfa yenilemeden veri alınır
  • Responsive tasarım
  • CDN yerine local kaynaklar

🆘 Sorun Giderme

Port 8080 zaten kullanılıyor

# Başka port kullan
mvn spring-boot:run -Dspring-boot.run.arguments="--server.port=8081"

Template bulunamadı hatası

# Proje kök klasöründen çalıştırınız
cd /Users/elis/Desktop/otomasyon

CORS hatası

# CORS zaten controller'da @CrossOrigin(origins = "*") ile ayarlanmıştır

JavaScript hataları

  • Tarayıcı console'u kontrol edin (F12)
  • Tüm CSS ve JS dosyalarının yüklendiğini kontrol edin

🔐 Güvenlik Notları

  • Şu anda CORS tüm originlere açık (production'da değiştirilmeli)
  • Authentication/Authorization yoktur (production'da eklenmelidir)
  • Sistem komutlarına sınırlama yoktur (izin verilen komutlar sınırlanmalı)

📈 İyileştirmeler

Gelecek versiyonlar için:

  • WebSocket desteği (gerçek zamanlı güncellemeler)
  • Veritabanı entegrasyonu
  • Kullanıcı yönetimi
  • İleri zamanlama (cron ifadeleri)
  • E-mail bildirimleri
  • Grafik raporlar

🎓 Öğrenme Kaynakları

  • Tarayıcının geliştirici araçlarını kullanın (F12)
  • Browser console'da API çağrılarını izleyin
  • AutomationTaskController.java API mantığını öğrenin
  • dashboard.html vs. sayfaları inceleyin

📞 İletişim

Sorularınız veya önerileriniz varsa:

  1. Logları kontrol edin
  2. API çağrılarını kontrol edin
  3. Tarayıcı console'unu kontrol edin

Sistem hazır! 🎉

Web tarayıcınızda http://localhost:8080 adresine gidin ve otomasyon sisteminizi yönetin!