CalenderTaskPlanner projesine katkıda bulunmak için teşekkürler! Bu rehber, projeye nasıl katkıda bulunabileceğinizi açıklar.
- Mevcut hataları düzeltme
- Performans iyileştirmeleri
- UI/UX iyileştirmeleri
- JavaScript hatalarını düzeltme
- Yeni takvim görünümleri
- Gelişmiş görev yönetimi
- Kullanıcı arayüzü iyileştirmeleri
- Yeni API endpoint'leri
- README güncellemeleri
- API dokümantasyonu
- Kod yorumları
- Kullanım kılavuzları
- Unit testler
- Integration testler
- UI testleri
- Manuel test senaryoları
- Visual Studio 2019/2022 veya Visual Studio Code
- .NET Framework 4.8
- SQL Server 2016+ veya SQL Server Express
- IIS veya IIS Express
- Git
-
Repository'yi fork edin
-
Fork'u klonlayın:
git clone https://github.com/YOUR_USERNAME/CalenderTaskPlanner.git cd CalenderTaskPlanner -
Upstream remote'u ekleyin:
git remote add upstream https://github.com/alknbugra/CalenderTaskPlanner.git
-
Projeyi Visual Studio'da açın:
start CalenderDemo2.sln
-
NuGet paketlerini restore edin:
# Visual Studio Package Manager Console'da Update-Package -Reinstall
-
Feature branch oluşturun:
git checkout -b feature/your-feature-name
-
Değişikliklerinizi yapın
-
Test edin:
# Visual Studio'dan F5 ile çalıştırın # Browser'da test edin # Demo modunu kullanın
-
Commit edin:
git add . git commit -m "feat: add new calendar view feature"
-
Push edin:
git push origin feature/your-feature-name
-
Pull Request oluşturun
- PascalCase - Sınıf, metod ve özellik isimleri
- camelCase - Değişken ve parametre isimleri
- UPPER_CASE - Sabitler
// ✅ Doğru
public class CalendarController
{
private const int MAX_TASK_DURATION = 24;
private string taskTitle;
public string TaskTitle
{
get => taskTitle;
set => taskTitle = value;
}
public void CreateTask(CalendarEvent task)
{
// Implementation
}
}
// ❌ Yanlış
public class calendar_controller
{
private const int max_task_duration = 24;
private string TaskTitle;
public void create_task(CalendarEvent Task)
{
// Implementation
}
}- Controller - İş mantığı ve veri işleme
- Model - Veri modelleri ve iş kuralları
- View - Kullanıcı arayüzü
// Controller
public class HomeController : Controller
{
public ActionResult Index()
{
var tasks = GetTasks();
return View(tasks);
}
}
// Model
public class CalendarEvent
{
public int Id { get; set; }
public string Title { get; set; }
// Diğer özellikler...
}- camelCase - Değişken ve fonksiyon isimleri
- PascalCase - Constructor'lar
- UPPER_CASE - Sabitler
// ✅ Doğru
function createTask(taskData) {
const taskId = generateTaskId();
const task = new CalendarTask(taskData);
return task;
}
const MAX_TASKS_PER_DAY = 10;
// ❌ Yanlış
function create_task(TaskData) {
const task_id = generate_task_id();
const Task = new calendar_task(TaskData);
return Task;
}- Semantic HTML kullanın
- Bootstrap sınıflarını kullanın
- Responsive design uygulayın
<!-- ✅ Doğru -->
<div class="container-fluid">
<div class="row">
<div class="col-md-8">
<div id="calendar" class="calendar-container"></div>
</div>
<div class="col-md-4">
<div class="task-panel">
<h3>Görevler</h3>
</div>
</div>
</div>
</div>
<!-- ❌ Yanlış -->
<div>
<div>
<div id="calendar"></div>
</div>
</div>-
Açıklayıcı başlık yazın:
feat: add drag and drop functionality fix: resolve calendar loading issue docs: update API documentation -
Detaylı açıklama ekleyin:
## Değişiklikler - Drag & drop özelliği eklendi - Calendar loading performansı iyileştirildi - UI güncellemeleri yapıldı ## Test Edilen Durumlar - [x] Drag & drop çalışıyor - [x] Calendar hızlı yükleniyor - [x] UI responsive ## Ekran Görüntüleri [Varsa ekran görüntüleri ekleyin]
-
Checklist'i tamamlayın:
- Kod standartlarına uygun
- Test edildi
- Dokümantasyon güncellendi
- Breaking change yok
- Otomatik kontroller - CI/CD pipeline çalışacak
- Code review - Maintainer'lar kodu inceleyecek
- Geri bildirim - Gerekirse değişiklik istenecek
- Merge - Onaylandıktan sonra merge edilecek
- Issue oluşturun - GitHub Issues sekmesinden
- Açıklayıcı başlık yazın
- Detaylı açıklama ekleyin:
## Hata Açıklaması
Calendar'da drag & drop işlemi çalışmıyor.
## Adımlar
1. Uygulamayı başlat
2. Bir görevi sürükle
3. Görev taşınmıyor
## Beklenen Davranış
Görev sürüklendiğinde yeni konuma taşınmalı.
## Gerçek Davranış
Görev sürüklendiğinde eski konumuna geri dönüyor.
## Ortam
- Windows 10
- Chrome 95
- .NET Framework 4.8
## Ek Bilgiler
Console'da JavaScript hatası var: "Cannot read property 'start' of undefined"- Issue oluşturun - "Feature Request" label'ı ile
- Açıklayıcı başlık yazın
- Detaylı açıklama ekleyin:
## Özellik Açıklaması
Görevlere dosya ekleme özelliği isteniyor.
## Kullanım Senaryosu
Kullanıcılar görevlere ilgili dosyaları ekleyebilmeli.
## Önerilen Çözüm
Görev detay sayfasına dosya upload alanı eklenebilir.
## Alternatif Çözümler
Drag & drop ile dosya ekleme de düşünülebilir.
## Ek Bilgiler
Örnekler ve referanslar ekleyin.- Kod standartlarına uygun
- Test edilmiş
- Dokümantasyon güncellenmiş
- Hata yönetimi mevcut
- Performans göz önünde bulundurulmuş
- MVC pattern'e uygun
- Kod standartlarına uymayan
- Test edilmemiş
- Dokümantasyon eksik
- Hata yönetimi yok
- Performans sorunları
- MVC pattern'e uymayan
Geliştirme sırasında Demo Modu'nu kullanın:
<!-- Web.config -->
<appSettings>
<add key="DemoMode" value="true" />
</appSettings>Bu mod:
- Gerçek veritabanı gerektirmez
- Mock veriler kullanır
- Hızlı test imkanı sağlar
- GitHub Issues - Hata bildirimi ve özellik istekleri
- GitHub Discussions - Genel tartışmalar
- Email - alknbugra@gmail.com
Bu projeye katkıda bulunarak, katkılarınızın MIT lisansı altında lisanslanacağını kabul etmiş olursunuz.
Teşekkürler! CalenderTaskPlanner projesine katkıda bulunduğunuz için minnettarız! 🙏