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)
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
- Bu repository'yi fork edin
- Feature branch oluşturun (
git checkout -b feature/amazing-feature) - Değişikliklerinizi commit edin (
git commit -m 'Add amazing feature') - Branch'inizi push edin (
git push origin feature/amazing-feature) - Pull Request oluşturun
📝 Lisans
Bu proje MIT Lisansı altında lisanslanmıştır.
🙏 Teşekkürler
- Material Design - UI tasarım rehberi
- jsPDF - PDF oluşturma
- Material Design Icons - İkonlar
⭐ Bu projeyi beğendiyseniz star vermeyi unutmayın! ⭐
cagatayuresin