← All projects

duty-scheduler-tr

Web-based weekly duty scheduler with Material Design & PDF export

● JavaScript ★ 2 ⑂ 0 Last updated: June 23, 2025

📅 Görev Atama Takvimi (Duty Scheduler TR)

GitHub Pages HTML5 CSS3 JavaScript Material Design License: MIT GitHub stars GitHub forks GitHub issues GitHub last commit Quality Gate Status Reliability Rating Maintainability Rating Security Rating

Modern ve kullanıcı dostu görev atama sistemi. Türkiye resmi tatilleri ile akıllı görev dağılımı sağlar.

🌟 Özellikler

👥 Kişi Yönetimi

  • ✅ Kolay kişi ekleme/çıkarma
  • 🎨 Her kişiye özel renk kodu
  • 💾 Kalıcı veri saklama (localStorage)

📅 Akıllı Takvim

  • 🗓️ Modern takvim görünümü
  • 🇹🇷 Türkiye resmi tatilleri (2025)
  • 🏖️ Hafta sonu vurgulaması
  • 📱 Responsive tasarım

⚡ Otomatik Görev Dağılımı

  • 🤖 Adil görev atama algoritması
  • ⚖️ Hafta sonlarının eşit dağılımı
  • 🎯 Drag & Drop ile manuel değiştirme
  • 🚫 Tatil günlerini otomatik atlama

📄 PDF Çıktı

  • 📊 Aylık rapor çıktısı
  • 📈 3 aylık dönemsel raporlar
  • 🖨️ Yazdırma dostu format

🚀 Demo

🔗 Canlı Demo'yu Deneyin

🛠️ Teknolojiler

  • Frontend: HTML5, CSS3, Vanilla JavaScript
  • UI Framework: Material Design Lite
  • Icons: Material Design Icons
  • PDF: jsPDF
  • Storage: Browser localStorage
  • Hosting: GitHub Pages

📋 Kurulum

Yerel Kurulum

# Repository'yi clone edin
git clone https://github.com/cagatayuresin/duty-scheduler-tr.git

# Klasöre geçin
cd duty-scheduler-tr

# Yerel sunucu başlatın (Python 3)
python -m http.server 8000

# Tarayıcıda açın
# http://localhost:8000

💡 Kullanım

1. Kişi Ekleme

  • Sol panelde "Kişi adını girin..." kutusuna isim yazın
  • Enter tuşuna basın veya ➕ butonunu tıklayın
  • Kişi otomatik olarak renkli etiketi ile eklenir

2. Otomatik Görev Atama

  • "Otomatik Ata" butonuna tıklayın
  • Sistem hafta sonlarını adil şekilde dağıtır
  • Resmi tatiller otomatik olarak atlanır

3. Manuel Düzenleme

  • Takvimde görevli kişileri sürükleyip bırakın
  • Farklı günlere kolayca taşıyın
  • Değişiklikler otomatik kaydedilir

4. PDF Çıktı Alma

  • "Aylık PDF" - Mevcut ay raporu
  • "3 Aylık PDF" - Üç aylık dönem raporu
  • Dosya otomatik olarak indirilir

🇹🇷 Türkiye Resmi Tatilleri

Sistem aşağıdaki resmi tatilleri otomatik olarak tanır:

  • 🎊 Yılbaşı (1 Ocak)
  • 🇹🇷 23 Nisan (Ulusal Egemenlik ve Çocuk Bayramı)
  • 👷 1 Mayıs (İşçi Bayramı)
  • 🏃 19 Mayıs (Atatürk'ü Anma, Gençlik ve Spor Bayramı)
  • 🏆 30 Ağustos (Zafer Bayramı)
  • 🇹🇷 29 Ekim (Cumhuriyet Bayramı)
  • 🌙 Ramazan Bayramı (3 gün)
  • 🐑 Kurban Bayramı (4 gün)

🔧 Özelleştirme

Renk Paleti Değiştirme

// script.js içinde colors dizisini düzenleyin
const colors = [
    '#FF6B6B', '#4ECDC4', '#45B7D1', // Mevcut renkler
    '#YourColor1', '#YourColor2'      // Yeni renkleriniz
];

Yeni Tatil Ekleme

// holidays objesine yeni tarihler ekleyin
const holidays = {
    '2025-MM-DD': 'Tatil Adı',
    // ...
};

🤝 Katkıda Bulunma

  1. Bu repository'yi fork edin
  2. Feature branch oluşturun (git checkout -b feature/amazing-feature)
  3. Değişikliklerinizi commit edin (git commit -m 'Add amazing feature')
  4. Branch'inizi push edin (git push origin feature/amazing-feature)
  5. Pull Request oluşturun

📝 Lisans

Bu proje MIT Lisansı altında lisanslanmıştır.

🙏 Teşekkürler

Bu projeyi beğendiyseniz star vermeyi unutmayın!