Yapay Zeka Destekli Moda Asistanı, Dijital Gardırop ve Kişisel Kombin Planlayıcı
✨ Kendi gardırobunu cebinde taşı, yapay zeka ile tarzını baştan yarat! ✨
- 🎉 v2.2 Yenilikler
- ✨ Temel Özellikler
- 🧠 Yapay Zeka Motorları
- 🛠️ Teknoloji Yığını
- 🏗️ Mimari Yapı
- 📅 Kombin Takvimi
- 🎨 Modern Arayüz
- ⚙️ Kurulum ve Geliştirme
- 🤝 Katkıda Bulunma
| Özellik | Açıklama |
|---|---|
| Kamera İzin Kontrolü | Çalışma zamanında CAMERA izni isteniyor, izin verilmeden kamera açılmıyor |
| Güvenli Kamera Akışı | İzin reddedilirse uygulama çökmez, kullanıcıya bilgi verilir |
| Özellik | Önce | Sonra |
|---|---|---|
| API Tasarrufu | Her ekran geçişinde API çağrısı | 15 dakika bayatlık kontrolü |
| Manuel Yenileme | Spam yapılabiliyordu | 60 saniye cooldown |
| Cache Senkronizasyonu | Her ekran bağımsız yüklüyordu | Room Flow ile reaktif paylaşım |
| HomeScreen Davranışı | Her dönüşte yeniden yüklüyordu | Cache'den anlık gösterim |
| Özellik | Açıklama |
|---|---|
| Sabit Koyu Tema | Sistem temasından bağımsız, tek renk paleti |
| Safe Area Düzeltmeleri | Onboarding ve Auth ekranlarında navigation bar çakışması giderildi |
| Navigation Bar Padding | 3-tuşlu ve gesture navigasyon için optimize edildi |
| Özellik | Açıklama |
|---|---|
| Zorunlu Hesap Seçici | Google Sign-In'de önceki oturum otomatik kullanılmıyor |
| Onboarding Zorunluluğu | "Atla" butonu kaldırıldı, giriş yapmadan uygulamaya giriş yok |
| # | Sorun | Çözüm |
|---|---|---|
| 1 | Türkçe karakterler bozuk görünüyordu | 18 dosyada encoding düzeltildi |
| 2 | Kamera butonuna basınca uygulama çöküyordu | Çalışma zamanı izin kontrolü eklendi |
| 3 | HomeScreen'de sürekli shimmer loading | Cache-first stratejisi uygulandı |
| 4 | Hava durumu manuel yenileme spam | 60 saniye cooldown eklendi |
| 5 | Google girişinde hesap seçici gösterilmiyordu | Önceki oturum temizleniyor |
| 6 | Aydınlık tema cihazlarda görünüyordu | Sabit koyu tema uygulandı |
| Özellik | Açıklama |
|---|---|
| ☁️ Akıllı Hava Durumu | 5 günlük hava tahmini + 15dk cache optimizasyonu |
| 🧠 AI Kombin Önerileri | Hava durumuna ve renk uyumuna göre otomatik öneriler |
| 📦 Gizlilik Odaklı Depolama | Görseller .nomedia klasörlerinde şifrelenir |
| 🛒 Barkod ile Hızlı Ekleme | ML Kit OCR ile barkod okutma |
| 📅 Kombin Takvimi | 30 güne kombin planla, günde 3 kombin |
| 🎨 Renk Uyumu Analizi | 12 renk grubu üzerinden kombinasyon puanlaması |
| 👤 Sanal Prova | Fotoğraf doğrulama ile yüz tespiti |
| 🔄 Cihazlar Arası Senkronizasyon | Google hesabı ile tüm veriler senkronize |
7 hava kategorisi ile kıyafet önerir:
| Kategori | Sıcaklık | Örnek Kıyafetler |
|---|---|---|
| Kavurucu | ≥ 35°C | Tişört, Şort, Sandalet |
| Sıcak | 28-34°C | Tişört, Polo, Sneaker |
| Ilık | 20-27°C | Gömlek, Bluz, Chino |
| Serin | 12-19°C | Sweatshirt, Kazak, Bot |
| Soğuk | 5-11°C | Mont, Kalın Pantolon, Atkı |
| Çok Soğuk | 0-4°C | Termal içlik, Kaban, Eldiven |
| Dondurucu | < 0°C | Parka, Yün Çorap, Bere |
Konfor Endeksi: 0-100 arası skor (sıcaklık, nem, rüzgar, yağış)
Dolabınızdaki kıyafetlerden en uyumlu kombinasyonları üretir:
- Renk uyumu %40, hava uyumu %60 ağırlıklı
- Mevsim ve hava durumuna göre 1-3 katman önerisi
- Maksimum 3 öneri, tekrarlanmayan seçimler
Uyum Puanı (100 üzerinden):
• Aynı renk grubu → 85 puan
• Nötr renk ile kombinasyon → 95 puan
• Lacivert bazlı → 90 puan
• Komplementer → 80 puan
• Analog (yan yana) → 75 puan
• Çakışan renkler → 45 puan
| Kategori | Teknolojiler |
|---|---|
| Dil & UI | Kotlin, Jetpack Compose, Material Design 3 |
| Mimari | Clean Architecture, MVVM, Compose Navigation |
| Asenkron | Coroutines, StateFlow, SharedFlow |
| Veritabanı | Room Database (v6) + Flow reaktif sorgular |
| Ağ | Retrofit2, OkHttp3, Gson |
| AI & Görüntü | Google ML Kit (Face, OCR), CameraX |
| Görsel | Coil (AsyncImage) |
| DI | Dagger-Hilt |
| Cloud | Firebase Auth, Cloud Firestore |
app/src/main/java/com/cyberqbit/ceptekabin/
├── domain/
│ ├── model/ # Kiyaket, Kombin, HavaDurumu, ForecastItem
│ ├── engine/ # WeatherOutfitEngine, SmartKombinSuggester, ColorHarmonyUtil
│ ├── repository/ # Repository interfaces
│ └── util/ # PhotoValidationUtil
├── data/
│ ├── local/
│ │ ├── database/ # Room entities, DAOs, Database (v6)
│ │ └── dao/ # TakvimGirisiDao, WeatherCacheDao (Flow)
│ ├── repository/ # Repository implementations
│ └── service/ # LocationService, GoogleAuthService
├── ui/
│ ├── screens/ # Home, Dolap, Kombin, HavaDurumu, Takvim, Onboarding, Auth
│ ├── components/ # GlassCard, GlassSurface, ShimmerLoading, TutorialOverlay
│ ├── navigation/ # NavGraph, Screen routes
│ └── theme/ # Color, Type, Theme (sabit koyu tema)
└── util/ # Constants
- 30 günlük görünüm - geçmişe 5 gün, ileriye 30 gün
- Günde 3 kombin - sabah, öğle, akşam slotları
- Arşiv modu - geçmiş günler salt okunur
- Anlık snapshot - kıyafet silinse bile görsel kaydedilir
- Kullanım takibi - her kıyafetin kaç kez giyildiği
| Animasyon | Açıklama |
|---|---|
| Press Effect | 0.97-0.98f scale, spring(damping=0.7, stiffness=400) |
| SlideUpFadeIn | fade(300ms) + slideUp(spring damping=0.8) |
| Shimmer | 1200ms döngü, FastOutSlowInEasing |
| Page Transition | slideHorizontal + fade, spring(damping=0.85) |
- 16dp corner radius
- Dark: 0.7f opacity
- 1dp subtle border
- Soft shadow
- Sadece ikonlar (label yok)
- Aktif: dolu (filled) ikon + 52dp yuvarlak background
- Pasif: çerçeveli (outlined) ikon
- 28dp ikon boyutu
- iOS tarzı spring press effect
statusBarsPadding()+navigationBarsPadding()- 3-tuşlu ve gesture navigasyon desteği
- Edge-to-edge immersive experience
| Token | Değer |
|---|---|
| Primary | #2196F3 |
| Secondary | #00BCD4 |
| Accent | #FFB300 |
| Error | #E53935 |
- Android Studio (Koal+)
- JDK 17+
google-services.json(Firebase)- Google ML Kit
git clone https://github.com/cyberQbit/CepteKabin.git
cd CepteKabin-
Firebase Console'dan
google-services.json'ıapp/klasörüne koyun -
Constants.ktiçindekiWEB_CLIENT_ID'yi güncelleyin -
Derleyin:
./gradlew clean
./gradlew bundleRelease
⚠️ Veritabanı v6: İlk açılışta eski veriler silinebilir.fallbackToDestructiveMigration()aktif.
💡 Konum İzni: Hava durumu için
ACCESS_FINE_LOCATIONgereklidir.
📷 Kamera İzni: Android 6.0+ için çalışma zamanında
CAMERAizni istenir.
- Fork'layın
- Branch oluşturun (
git checkout -b feature/YeniFikir) - Commit'leyin
- Push'layın ve Pull Request açın
* 1 (Not: Uygulamanın Google Play Store sürümü "Kapalı Test - Alpha" sürecinde olup, bu sürece dahil olmak için geliştirici ile Google Hesabınıza ait e-posta hesabınızı paylaşmanız gerekmektedir!)
cyberQbit tarafından ❤️ ile geliştirilmiştir.