Skip to content

Latest commit

 

History

146 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Flutter Services

Flutter projelerinde sık karşılaşılan altyapı ihtiyaçlarını çözmek amacıyla geliştirdiğim bu servis altyapısı; API entegrasyonu, Firebase işlemleri, medya yönetimi, harita servisleri, bildirim sistemleri ve yerel depolama çözümlerini tek bir modüler yapı altında sunar. Özelleştirilebilir mimarisi sayesinde farklı projelere kolayca adapte edilebilir ve geliştirme sürecini hızlandırırken kod tekrarını önemli ölçüde azaltır.

⚠️ Önemli Not!
Bu yapı bir pub.dev paketi değildir. Flutter projelerinde tekrar eden servis katmanlarını (API, Firebase, vb.) merkezi ve taşınabilir bir şekilde yönetmek amacıyla oluşturulmuştur.

🧩 Nasıl Kullanılır?
Bu yapı tamamen esnek ve modülerdir. Doğrudan projelere entegre edilmek üzere tasarlanmıştır. İhtiyacınız olan servisleri seçerek doğrudan projenize ekleyebilirsiniz:
- İlgili klasörü veya dosyayı kopyalayın
- Projenizde uygun dizine yerleştirin (services/ gibi)
- Gerekirse kendi ihtiyaçlarınıza göre özelleştirin

⚠️ Dikkat Edilmesi Gerekenler
- Bazı servisler harici paketlere bağımlı olabilir (örn: dio, firebase)
- Gerekli bağımlılıkları projenize eklemezseniz hata alabilirsiniz
- Servisleri kullanmadan önce bağımlılıkları kontrol etmeniz önerilir

Kullanılan kütüphaneler:

  • API Service
    • dio
  • Firebase Service
    • firebase_core
    • firebase_analytics
    • firebase_database
    • cloud_firestore
    • firebase_auth
    • google_sign_in
  • Media Service
    • image_picker
    • image_cropper
    • flutter_image_compress
    • file_picker
    • video_player
    • chewie
    • audio_waveforms
    • record
    • just_audio
  • Map Service
    • google_maps_flutter
    • geolocator
    • geocoding
  • Notification Service
    • onesignal_flutter
    • awesome_notifications
    • firebase_messaging
  • Storage Service
    • hive
    • hive_flutter
    • sqflite
    • shared_preferences
  • Other
    • qr_flutter
    • mobile_scanner
  • Base
    • path_provider
    • screenshot

Araç Seti ( toolkit ):

  • extensions: Mevcut sınıflara (String, DateTime vb.) yeni yetenekler kazandırarak kod yazımını kısaltır.

  • mixins: Çoklu kalıtım desteğiyle sınıflara ortak fonksiyonel özellikler ve davranışlar enjekte eder.

API Servisi ( api ):

Uzak sunucularla veri alışverişini ve hata yönetimini merkezi bir noktadan yönetir.

Firebase Servisleri ( firebase ):

Gerekli yapılandırma dosyalarını eklemeyi unutmayın!

  • Analytics: Kullanıcı davranışlarını analiz ederek uygulamanın performansını ve etkileşimini ölçer.

  • Realtime Database: Verilerin tüm kullanıcılar arasında anlık ve canlı olarak senkronize edilmesini sağlar.

  • Firestore: Esnek ve ölçeklenebilir doküman tabanlı veritabanı çözümü sunar.

  • Firebase Auth: Kullanıcı kayıt ve giriş işlemlerini güvenli bir altyapı üzerinden gerçekleştirir.

  • Google Auth: Google hesaplarıyla hızlı ve tek tıkla güvenli giriş imkanı sağlar.

Medya Servisleri ( media ):

  • camera: Cihazın kamerasına veya fotoğraf galerisine erişerek görsel veri almanızı sağlar.

  • video: Yerel veya uzak sunucudaki video dosyalarını oynatmak ve kontrol etmek için kullanılır.

  • file: Cihaz depolama alanındaki doküman, PDF ve diğer dosya formatlarını yönetmenize yardımcı olur.

  • audio: Uygulama içinde ses kaydı yapma veya ses dosyalarını yüksek performansla oynatma imkanı verir.

Harita Servisleri ( map ):

  • map: İnteraktif harita gösterimi ve harita üzerindeki işaretleme (marker) işlemlerini kolaylaştırır.

  • location: Kullanıcının anlık konum verilerini yüksek hassasiyetle takip etmeyi ve yönetmeyi sağlar.

Bildirim Servisleri ( notification ):

  • onesignal: OneSignal altyapısını kullanarak uzak sunucu bildirimlerini alır ve işler.

  • local: Yerel bildirimleri özelleştirilebilir tasarımlar ve gelişmiş zamanlama ile yönetir.

  • firebase: Firebase Cloud Messaging (FCM) üzerinden uzak sunucu bildirimlerini alır ve işler.

Depolama Servisleri ( storage ):

  • hive: Küçük boyutlu ayarların veya verilerin cihaz belleğinde hızlı erişilebilir şekilde tutulmasını sağlar.

  • sqflite: İlişkisel veya doküman tabanlı verilerin yerel bir veritabanında (SQLite vb.) güvenle saklanmasını yönetir.

Diğer Servisler ( other ):

  • qr: Dinamik QR kodları oluşturmanıza veya kamera aracılığıyla mevcut kodları taramanıza olanak tanır.

Demo İçerikleri

Aşağıda bazı servislerin kullanım örnekleri mevcuttur. İncelemek için screens klasörünü ziyaret edebilirsiniz.

Local Depolama QR Konum Medya Medya Firebase Local Bildirim Local Bildirim Local Bildirim

About

A customizable, ready-to-use service infrastructure for Flutter projects.

Topics

Resources

Stars

9 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages