Skip to content

set/task-management

Repository files navigation

Mobiva Task Management API

Laravel tabanlı, tam dockerize edilmiş task management API sistemi. Redis queue, MySQL veritabanı ve Swagger dokümantasyonu ile kurumsal seviye çözüm.

🚀 Hızlı Başlangıç

# Projeyi klonla
git clone <repository-url>
cd task-management-api

# Tek komutla başlat
docker compose up -d --build

Proje http://localhost:8000 adresinde hazır.

🌐 Erişim Adresleri

📚 API Dokümantasyonu & Test

Swagger/OpenAPI Dokümantasyonu

Otomatik oluşturulan API dokümantasyonu:

Postman Koleksiyonu

Proje kök dizininde postman-collection.json dosyası bulunur:

# Postman'e içe aktar
1. Postman'ı aç
2. Import > File > postman-collection.json seç
3. Koleksiyonu içe aktar
4. Environment değişkenlerini ayarla (base_url, token)

Koleksiyon İçeriği:

  • Kimlik doğrulama endpoints (kayıt, giriş, çıkış)
  • Takım yönetimi (CRUD + üye işlemleri)
  • Görev yönetimi (CRUD + dosya yükleme)
  • Önceden yapılandırılmış istek örnekleri
  • Environment değişkenleri desteği

📡 API Endpoints

Kimlik Doğrulama

POST /api/register          # Kullanıcı kaydı
POST /api/login             # Giriş
GET  /api/user              # Profil bilgisi (auth gerekli)
POST /api/logout            # Çıkış (auth gerekli)

Takımlar

GET    /api/teams           # Takım listesi
POST   /api/teams           # Takım oluştur
GET    /api/teams/{id}      # Takım detayı
PUT    /api/teams/{id}      # Takım güncelle
DELETE /api/teams/{id}      # Takım sil
POST   /api/teams/{id}/members           # Üye ekle
DELETE /api/teams/{id}/members/{userId}  # Üye çıkar

Görevler

GET    /api/tasks           # Görev listesi (filtreleme destekli)
POST   /api/tasks           # Görev oluştur
GET    /api/tasks/{id}      # Görev detayı
PUT    /api/tasks/{id}      # Görev güncelle
DELETE /api/tasks/{id}      # Görev sil
POST   /api/tasks/{id}/files # Dosya yükle

🔐 Kimlik Doğrulama

API, Laravel Sanctum kullanarak token tabanlı kimlik doğrulaması sağlar.

Kullanım Örneği

# 1. Kayıt ol
curl -X POST http://localhost:8000/api/register \
  -H "Content-Type: application/json" \
  -d '{"name":"Test User","email":"test@example.com","password":"password","password_confirmation":"password"}'

# 2. Giriş yap ve token al
curl -X POST http://localhost:8000/api/login \
  -H "Content-Type: application/json" \
  -d '{"email":"test@example.com","password":"password"}'

# 3. Token ile API kullan
curl -X GET http://localhost:8000/api/teams \
  -H "Authorization: Bearer YOUR_TOKEN_HERE"

🧪 Test

# Container içinde testleri çalıştır
docker compose exec app php artisan test

# Belirli test sınıfını çalıştır
docker compose exec app php artisan test --filter=AuthTest

Test Kapsamı: 20+ test, 100+ assertion

🛠️ Geliştirme

Container'a Erişim

# App container shell
docker compose exec app bash

# MySQL CLI
docker compose exec mysql mysql -u sail -p task_management

# Redis CLI
docker compose exec redis redis-cli

Laravel Komutları

# Migration çalıştır
docker compose exec app php artisan migrate

# Cache temizle
docker compose exec app php artisan cache:clear

# API dokümantasyonu oluştur
docker compose exec app php artisan l5-swagger:generate

📋 API Test

Swagger UI

Tarayıcıda doğrudan interaktif API test:

http://localhost:8000/api/documentation
  • ✅ Endpoints'leri doğrudan test et
  • ✅ İstek/yanıt şemalarını görüntüle
  • ✅ Kimlik doğrulama desteği
  • ✅ Gerçek zamanlı doğrulama

Postman Koleksiyonu

İçe aktarma ve kullanım:

# 1. Koleksiyonu içe aktar
Dosya: postman-collection.json

# 2. Environment kurulumu
base_url: http://localhost:8000
token: {{auth_token}} # Login sonrası otomatik ayarlanır

Örnek İş Akışı:

  1. Auth/Register - Yeni kullanıcı oluştur
  2. Auth/Login - Token al (otomatik environment'a kaydedilir)
  3. Teams/Create Team - Takım oluştur
  4. Tasks/Create Task - Görev oluştur
  5. Tasks/Upload File - Dosya yükle

🎯 Mobiva Task Management API - Saf API Çözümü

📋 API Test Seçenekleri:

  • Swagger UI: http://localhost:8000/api/documentation (İnteraktif tarayıcı test)
  • Postman: postman-collection.json dosyasını içe aktar (Tam istek koleksiyonu)
  • cURL: Dokümantasyondan kopyala-yapıştır hazır komutlar

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published