Bu proje, yönergede belirtilen zorunlu gereksinimlerin yanı sıra; gelişmiş filtreleme, veri doğrulama (validation) ve raporlama servisleri gibi ileri seviye API özelliklerini içermektedir.
Geliştirici: Zeynep Sude Bayram
Projeyi yerel ortamınızda (localhost) çalıştırmak ve entegre etmek için aşağıdaki adımları izleyebilirsiniz.
Gereksinimler: Bilgisayarınızda Node.js yüklü olmalıdır.
Adım Adım Kurulum:
- Sıkıştırılmış proje klasörünü (ZIP) çıkartın.
- Terminal veya komut satırı üzerinden
taskflow-apidizinine gidin. - Gerekli bağımlılıkları (Express.js) yüklemek için şu komutu çalıştırın:
npm install - Kurulum tamamlandıktan sonra sunucuyu başlatmak için:
node server.js - Terminalde
Sunucu http://localhost:3000 adresinde dinleniyor...mesajını gördüğünüzde sistem kullanıma hazırdır. - İstemci uygulamanızdan (veya Postman üzerinden)
http://localhost:3000adresine HTTP istekleri atarak API'yi kullanmaya başlayabilirsiniz.
Sistemdeki tüm endpoint'ler (uç noktalar), beklenen parametreler ve yanıtlar aşağıda listelenmiştir.
- GET
/tasks- İşlev: Sistemdeki tüm görevleri listeler.
- Parametreler (Query):
?status=...(Duruma göre filtreler),?priority=...(Önceliğe göre filtreler). - Başarılı Yanıt:
200 OK(Görev nesnelerinden oluşan JSON dizisi).
- GET
/tasks/:id- İşlev: Belirtilen ID'ye sahip görevin detaylarını getirir.
- POST
/tasks- İşlev: Yeni görev oluşturur. Validation katmanından geçer.
- Beklenen Body (JSON):
title,description,assignee,priority(Tümü zorunludur). - Başarılı Yanıt:
201 Createdve oluşturulan görev verisi.
- PUT
/tasks/:id- İşlev: Mevcut bir görevi günceller. Validation katmanından geçer.
- Başarılı Yanıt:
200 OKve güncellenen görev verisi.
- DELETE
/tasks/:id- İşlev: Belirtilen görevi sistemden kalıcı olarak siler.
- Başarılı Yanıt:
200 OKve "Görev başarıyla silindi" mesajı.
- GET
/reports/completed: Tamamlanan görev sayısını döndürür. - GET
/reports/pending: Bekleyen görev sayısını döndürür. - GET
/reports/summary: Sistemdeki toplam ve tamamlanan görev özetini döndürür ({"total": X, "completed": Y}).
Postman üzerinden gerçekleştirilen ve ekran görüntüleri ile kanıtlanan test senaryoları şunlardır:
- Senaryo 1: Validation Middleware Testi (Hata Kontrolü)
- Eylem: Eksik JSON verisi (sadece
titlevedescription) ile POST isteği atılır. - Beklenen ve Alınan Sonuç:
400 Bad Request. Sistem, eksik alanları belirten net bir hata mesajı döndürür. Veri bütünlüğü korunur.
- Eylem: Eksik JSON verisi (sadece
- Senaryo 2: Başarılı Veri Ekleme (POST)
- Eylem: Tüm zorunlu alanları içeren geçerli bir JSON formatı ile POST isteği atılır.
- Beklenen ve Alınan Sonuç:
201 Created. Sistem görevi kaydeder ve yanıt olarak döndürür.
- Senaryo 3: Gelişmiş Filtreleme (GET)
- Eylem:
/tasks?status=Tamamlandıadresine GET isteği atılır. - Beklenen ve Alınan Sonuç:
200 OK. Sistem yalnızca durumu "Tamamlandı" olan görevleri filtreleyip listeler.
- Eylem:
- Senaryo 4: Raporlama ve Özet (GET)
- Eylem:
/reports/summaryadresine GET isteği atılır. - Beklenen ve Alınan Sonuç:
200 OK. Toplam kayıtlı görev ve tamamlanmış görev sayıları istatistiksel olarak döner.# taskflow-api
- Eylem: