Skip to content

Repository files navigation

📅 CalenderTaskPlanner - Advanced Task Management System

LicenseBuild StatusPlatformASP.NET MVCLast CommitRelease

CalenderTaskPlanner, FullCalendar entegrasyonu ile geliştirilmiş profesyonel bir görev planlama ve takip sistemidir. Drag & drop, resize ve gerçek zamanlı güncelleme özellikleri ile modern web teknolojileri kullanılarak oluşturulmuştur.

📋 İçindekiler

✨ Özellikler

🎯 Temel Özellikler

  • 📅 FullCalendar Entegrasyonu - Modern ve responsive takvim arayüzü
  • 🖱️ Drag & Drop - Görevleri sürükleyip bırakarak kolayca taşıma
  • 📏 Resize - Görev sürelerini görsel olarak düzenleme
  • 👥 Kullanıcı Yönetimi - Çoklu kullanıcı desteği ve yetkilendirme
  • 🎨 Modern UI/UX - Responsive ve kullanıcı dostu arayüz

🛠️ Teknik Özellikler

  • ASP.NET MVC 5 framework
  • Entity Framework 6 veritabanı ORM
  • FullCalendar.js takvim kütüphanesi
  • jQuery ve Bootstrap frontend
  • SQL Server veritabanı desteği
  • RESTful API mimarisi

📊 Görev Yönetimi

  • Görev Oluşturma - Detaylı görev bilgileri ile
  • Görev Düzenleme - Anlık güncelleme ve düzenleme
  • Görev Silme - Güvenli silme işlemleri
  • Durum Takibi - Görev durumlarını izleme
  • Zaman Planlama - Tarih ve saat bazlı planlama

🔧 Gelişmiş Özellikler

  • Demo Modu - Test ve geliştirme için mock veri
  • Gerçek Zamanlı Güncelleme - Anlık değişiklik senkronizasyonu
  • Filtreleme - Gelişmiş arama ve filtreleme seçenekleri
  • Export/Import - Veri aktarım işlemleri
  • Responsive Design - Mobil ve tablet uyumlu

🔧 Gereksinimler

Donanım Gereksinimleri

  • Windows 10/11 veya Windows Server 2016+
  • Minimum 4GB RAM (8GB önerilen)
  • 2GB boş disk alanı
  • Internet bağlantısı (paket indirme için)

Yazılım Gereksinimleri

  • .NET Framework 4.8
  • Visual Studio 2019/2022 (geliştirme için)
  • SQL Server 2016+ veya SQL Server Express
  • IIS veya IIS Express
  • NuGet Package Manager

🚀 Kurulum

1. Repository'yi Klonlayın

git clone https://github.com/alknbugra/CalenderTaskPlanner.git
cd CalenderTaskPlanner

2. Visual Studio ile Açın

# Visual Studio ile
start CalenderDemo2.sln
# Veya Visual Studio Code ile
code CalenderDemo2.sln

3. NuGet Paketlerini Restore Edin

# Visual Studio Package Manager Console'da
Update-Package -Reinstall
# Veya NuGet CLI ile
nuget restore CalenderDemo2.sln

4. Veritabanını Yapılandırın

Demo Modu (Önerilen - Hızlı Başlangıç)

Web.config dosyasında:

<appSettings>
<addkey="DemoMode"value="true" />
<addkey="TicketBaseUrl"value="https://example.com/qbt/Ticket/Browse/QBT-" />
</appSettings>

Gerçek Veritabanı Modu

  1. SQL Server'da yeni veritabanı oluşturun
  2. Web.config'de connection string'i güncelleyin:
<connectionStrings>
<addname="ContexDB"connectionString="Data Source=YOUR_SERVER;Initial Catalog=CalenderTaskPlanner;Integrated Security=True"providerName="System.Data.SqlClient" />
</connectionStrings>
  1. DemoMode'u false yapın:
<appSettings>
<addkey="DemoMode"value="false" />
</appSettings>

5. Uygulamayı Çalıştırın

# Visual Studio'dan F5 ile# Veya IIS'de publish edin

📖 Kullanım

Temel Kullanım

  1. Uygulamayı başlatın - Ana sayfa yüklenecektir
  2. Görev oluşturun - Takvim üzerinde tıklayarak yeni görev ekleyin
  3. Görevleri düzenleyin - Drag & drop ile taşıyın, resize ile süre ayarlayın
  4. Durumları takip edin - Görev durumlarını güncelleyin

Arayüz Bileşenleri

  • 📅 Takvim Görünümü - Ana görev planlama alanı
  • 👥 Kullanıcı Paneli - Sol menüde kullanıcı listesi
  • ➕ Görev Oluşturma - Yeni görev ekleme formu
  • ⚙️ Ayarlar - Sistem konfigürasyonu

Desteklenen Görev İşlemleri

  • Oluşturma - Yeni görev ekleme
  • Düzenleme - Mevcut görevleri güncelleme
  • Silme - Görevleri kaldırma
  • Taşıma - Drag & drop ile tarih değiştirme
  • Süre Ayarlama - Resize ile süre düzenleme

📁 Proje Yapısı

CalenderTaskPlanner/
├── 📁 CalenderDemo2/ # Ana proje klasörü
│ ├── 📁 Controllers/ # MVC Controller'lar
│ │ └── 📄 HomeController.cs # Ana controller
│ ├── 📁 Models/ # Veri modelleri
│ │ ├── 📄 CalendarEvent.cs # Takvim olay modeli
│ │ ├── 📄 UserTbl.cs # Kullanıcı modeli
│ │ ├── 📄 MainTicketTbl.cs # Ana görev modeli
│ │ └── 📄 DBmodel.Context.cs # Entity Framework context
│ ├── 📁 Views/ # MVC View'lar
│ │ ├── 📁 Home/ # Ana sayfa view'ları
│ │ └── 📄 Shared/ # Paylaşılan layout'lar
│ ├── 📁 Scripts/ # JavaScript dosyaları
│ │ ├── 📄 fullcalendar.js # FullCalendar kütüphanesi
│ │ └── 📄 calendar.js # Özel takvim scripti
│ ├── 📁 Content/ # CSS ve stil dosyaları
│ │ └── 📄 Site.css # Ana stil dosyası
│ ├── 📁 App_Start/ # Uygulama başlatma
│ ├── 📁 Properties/ # Proje özellikleri
│ ├── 📄 Web.config # Web konfigürasyonu
│ └── 📄 CalenderDemo2.csproj # Proje dosyası
├── 📁 docs/ # Dokümantasyon ve görseller
├── 📁 .github/workflows/ # GitHub Actions
├── 📄 README.md # Bu dosya
├── 📄 LICENSE # MIT lisansı
└── 📄 .gitignore # Git ignore kuralları

🔌 API Referansı

Controller Metodları

HomeController - Ana Controller

publicclassHomeController:Controller{// Ana sayfapublicActionResultIndex()// Görevleri getirpublicJsonResultGetTasks()// Görev oluşturpublicJsonResultCreateTask(CalendarEventtask)// Görev güncellepublicJsonResultUpdateTask(CalendarEventtask)// Görev silpublicJsonResultDeleteTask(intid)}

CalendarEvent - Görev Modeli

publicclassCalendarEvent{publicintId{get;set;}publicstringTitle{get;set;}publicDateTimeStart{get;set;}publicDateTimeEnd{get;set;}publicstringDescription{get;set;}publicintUserId{get;set;}publicstringStatus{get;set;}}

JavaScript API

Takvim İşlemleri

// Takvim başlatma$('#calendar').fullCalendar({// Konfigürasyon});// Görev oluşturmafunctioncreateTask(event){// Görev oluşturma mantığı}// Görev güncellemefunctionupdateTask(event){// Görev güncelleme mantığı}

🎮 Demo Modu

Demo Modu Özellikleri

  • Mock Veri - Gerçek veritabanı olmadan test
  • Hızlı Başlangıç - Anında çalışmaya başlama
  • Test Kullanıcıları - Önceden tanımlı kullanıcılar
  • Örnek Görevler - Demo görevler ve veriler

Demo Modu Aktifleştirme

<!-- Web.config -->
<appSettings>
<addkey="DemoMode"value="true" />
</appSettings>

Demo Verileri

  • Kullanıcılar: 5 örnek kullanıcı
  • Görevler: 10+ örnek görev
  • Durumlar: Aktif, Tamamlandı, Beklemede
  • Tarihler: Geçmiş ve gelecek görevler

🔧 Troubleshooting

Yaygın Sorunlar

❌ "NuGet paketleri bulunamadı" Hatası

Çözüm:

  1. Visual Studio'da Package Manager Console'u açın
  2. Şu komutu çalıştırın:
    Update-Package-Reinstall

❌ "Veritabanı bağlantı hatası" Hatası

Çözüm:

  1. Demo modunu aktifleştirin:
    <addkey="DemoMode"value="true" />
  2. Veya connection string'i kontrol edin

❌ "FullCalendar yüklenmiyor" Hatası

Çözüm:

  1. Scripts klasöründe fullcalendar.js dosyasının varlığını kontrol edin
  2. BundleConfig.cs'de script bundle'ını kontrol edin
  3. Browser console'da JavaScript hatalarını kontrol edin

❌ "Drag & Drop çalışmıyor" Hatası

Çözüm:

  1. jQuery ve FullCalendar kütüphanelerinin yüklendiğini kontrol edin
  2. Browser'ın JavaScript'i desteklediğini kontrol edin
  3. Console'da JavaScript hatalarını kontrol edin

Debug Modu

<!-- Web.config -->
<system.web>
<compilationdebug="true"targetFramework="4.8" />
</system.web>

🤝 Katkıda Bulunma

Bu projeye katkıda bulunmak için:

  1. Fork edin
  2. Feature branch oluşturun (git checkout -b feature/AmazingFeature)
  3. Commit edin (git commit -m 'Add some AmazingFeature')
  4. Push edin (git push origin feature/AmazingFeature)
  5. Pull Request oluşturun

Geliştirme Kuralları

  • C# Coding Standards kullanın
  • MVC Pattern'e uygun kod yazın
  • Entity Framework best practice'lerini takip edin
  • JavaScript kodlarını optimize edin
  • Unit Test yazın (mümkünse)

📄 Lisans

Bu proje MIT Lisansı altında lisanslanmıştır. Detaylar için LICENSE dosyasına bakın.

👨‍💻 Geliştirici

Buğra Alkın - @alknbugra

🙏 Teşekkürler

  • FullCalendar - Takvim kütüphanesi için
  • Microsoft - ASP.NET MVC framework için
  • jQuery Foundation - jQuery kütüphanesi için
  • Bootstrap Team - UI framework için
  • Açık kaynak topluluğu - İlham ve destek için

📚 Kaynaklar


⭐ Bu projeyi beğendiyseniz yıldız vermeyi unutmayın!

GitHub starsGitHub forks

About

📅 Advanced Task Management System with Calendar Integration - ASP.NET MVC, FullCalendar, Entity Framework

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages