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.
- Özellikler
- Gereksinimler
- Kurulum
- Kullanım
- Proje Yapısı
- API Referansı
- Demo Modu
- Troubleshooting
- Katkıda Bulunma
- Lisans
- 📅 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
- 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 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
- 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
- Windows 10/11 veya Windows Server 2016+
- Minimum 4GB RAM (8GB önerilen)
- 2GB boş disk alanı
- Internet bağlantısı (paket indirme için)
- .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
git clone https://github.com/alknbugra/CalenderTaskPlanner.git
cd CalenderTaskPlanner# Visual Studio ile
start CalenderDemo2.sln
# Veya Visual Studio Code ile
code CalenderDemo2.sln# Visual Studio Package Manager Console'da
Update-Package -Reinstall
# Veya NuGet CLI ile
nuget restore CalenderDemo2.slnWeb.config dosyasında:
<appSettings>
<add key="DemoMode" value="true" />
<add key="TicketBaseUrl" value="https://example.com/qbt/Ticket/Browse/QBT-" />
</appSettings>- SQL Server'da yeni veritabanı oluşturun
Web.config'de connection string'i güncelleyin:
<connectionStrings>
<add name="ContexDB"
connectionString="Data Source=YOUR_SERVER;Initial Catalog=CalenderTaskPlanner;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>DemoMode'ufalseyapın:
<appSettings>
<add key="DemoMode" value="false" />
</appSettings># Visual Studio'dan F5 ile
# Veya IIS'de publish edin- Uygulamayı başlatın - Ana sayfa yüklenecektir
- Görev oluşturun - Takvim üzerinde tıklayarak yeni görev ekleyin
- Görevleri düzenleyin - Drag & drop ile taşıyın, resize ile süre ayarlayın
- Durumları takip edin - Görev durumlarını güncelleyin
- 📅 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
- 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
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ı
public class HomeController : Controller
{
// Ana sayfa
public ActionResult Index()
// Görevleri getir
public JsonResult GetTasks()
// Görev oluştur
public JsonResult CreateTask(CalendarEvent task)
// Görev güncelle
public JsonResult UpdateTask(CalendarEvent task)
// Görev sil
public JsonResult DeleteTask(int id)
}public class CalendarEvent
{
public int Id { get; set; }
public string Title { get; set; }
public DateTime Start { get; set; }
public DateTime End { get; set; }
public string Description { get; set; }
public int UserId { get; set; }
public string Status { get; set; }
}// Takvim başlatma
$('#calendar').fullCalendar({
// Konfigürasyon
});
// Görev oluşturma
function createTask(event) {
// Görev oluşturma mantığı
}
// Görev güncelleme
function updateTask(event) {
// Görev güncelleme mantığı
}- 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
<!-- Web.config -->
<appSettings>
<add key="DemoMode" value="true" />
</appSettings>- Kullanıcılar: 5 örnek kullanıcı
- Görevler: 10+ örnek görev
- Durumlar: Aktif, Tamamlandı, Beklemede
- Tarihler: Geçmiş ve gelecek görevler
Çözüm:
- Visual Studio'da Package Manager Console'u açın
- Şu komutu çalıştırın:
Update-Package -Reinstall
Çözüm:
- Demo modunu aktifleştirin:
<add key="DemoMode" value="true" />
- Veya connection string'i kontrol edin
Çözüm:
- Scripts klasöründe fullcalendar.js dosyasının varlığını kontrol edin
- BundleConfig.cs'de script bundle'ını kontrol edin
- Browser console'da JavaScript hatalarını kontrol edin
Çözüm:
- jQuery ve FullCalendar kütüphanelerinin yüklendiğini kontrol edin
- Browser'ın JavaScript'i desteklediğini kontrol edin
- Console'da JavaScript hatalarını kontrol edin
<!-- Web.config -->
<system.web>
<compilation debug="true" targetFramework="4.8" />
</system.web>Bu projeye katkıda bulunmak için:
- Fork edin
- Feature branch oluşturun (
git checkout -b feature/AmazingFeature) - Commit edin (
git commit -m 'Add some AmazingFeature') - Push edin (
git push origin feature/AmazingFeature) - Pull Request oluşturun
- 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)
Bu proje MIT Lisansı altında lisanslanmıştır. Detaylar için LICENSE dosyasına bakın.
Buğra Alkın - @alknbugra
- 🔗 GitHub: @alknbugra
- 📧 Email: alknbugra@gmail.com
- 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
- ASP.NET MVC Dokümantasyonu
- FullCalendar Dokümantasyonu
- Entity Framework Dokümantasyonu
- jQuery Dokümantasyonu
⭐ Bu projeyi beğendiyseniz yıldız vermeyi unutmayın!