Tüm uygulamalar
Vakti Geçmeden uygulama ikonu

Vakti Geçmeden

Mahalledeki fırın, kafe ve restoranların gün sonu paketlerini yarı fiyatına kurtaran uygulama.

  • iOS
  • Android
  • 2026
  • Kendi ürünüm
Onay sürecinde Web sitesi

Ekran görüntüleri

Büyütmek için bir görsele tıklayın.

Uygulama hakkında

Her gün, her mahallede fırınlar kapanırken ekmek, kafeler kapanırken pasta, marketler kapanırken taze ürün atıyor. Bunlar bozulmuş değil — sadece vakti geçmiş. Vakti Geçmeden bu ürünleri çöpe gitmeden, yarı fiyatına almak isteyen insanlarla buluşturuyor. İşletme zararını azaltıyor, kullanıcı ucuza taze ürün alıyor, ürün israf olmuyor.

Kullanıcı tarafı üç adıma indirgendi: keşfet, rezerve et, QR ile teslim al. Konumunu açan kullanıcı yakındaki sürpriz paketleri harita veya liste görünümünde görüyor, kategoriye, mesafeye ve fiyata göre filtreliyor; paketi seçip teslim saatini belirliyor; işletmeye uğrayıp QR kodunu göstererek alıyor. Rezervasyon ücretsiz ve otuz saniye sürüyor — çünkü buradaki her ek adım, kurtarılamayan bir paket demek.

Teknik tarafın en kritik yeri stok. Buradaki envanter gün içinde eriyen bir envanter: her paketin bir teslim aralığı ve bir son kullanma anı var, süre dolduğunda ilan kendiliğinden kapanıyor. Rezervasyon ise satış değil, bir tutma işlemi — aynı son pakete iki kişinin aynı anda rezervasyon yapmaması gerekiyor, alınmayan rezervasyonun da stoğa geri dönmesi. QR kodu da tek kullanımlık ve sunucuda doğrulanıyor; ekran görüntüsü paylaşılarak ikinci kez kullanılamıyor.

Ürünün ikinci yarısı işletme tarafı. İşletmeler onaydan geçiyor, kendi paketlerini yayınlıyor, teslim saatlerini ve stoğu yönetiyor. Kullanıcı tarafında ise işletmeyi takip etme, yeni paket yayınlandığında bildirim alma, puanlama ve değerlendirme var. Buna bir de sosyal katman ekledim: paylaşımlar, takip akışı ve keşfet sekmesi — israf azaltmayı tek başına yapılan bir şey olmaktan çıkarmak için.

Son olarak, kurtarılan her ürünün tahmini çevresel karşılığını gösteren bir etki paneli var: kaç kilogram karbon, kaç litre su, kaç kilometre araba yolu. Sabit dönüşüm katsayılarıyla hesaplanan bir tahmin bu, kesin bir ölçüm değil — ama soyut bir “iyilik yaptın” mesajından çok daha ikna edici.

Öne çıkan özellikler

  • Konum tabanlı keşif: yakındaki sürpriz paketlerin harita ve liste görünümü
  • Kategori filtreleri: fırın, market, kafe, restoran ve manav
  • Mesafe ve fiyat filtreleri — konuma göre sıralı fırsat listesi
  • Acil fırsatlar: bugün sona eren paketler ve kalan süre sayacı
  • Ücretsiz rezervasyon: paket seçimi, teslim saati belirleme ve stok tutma
  • Tek kullanımlık QR ile teslimat — sunucuda doğrulanan teslim kodu
  • Onaylı işletmeler: her işletme yayına girmeden önce doğrulanır
  • İşletme sayfası: ürünler, hakkında, paylaşımlar ve değerlendirme dağılımı
  • Takip ve bildirim: takip edilen işletme yeni paket yayınladığında haber verme
  • Sosyal akış: paylaşımlar, beğeni ve yorumlarla topluluk sekmesi
  • Etki paneli: kurtarılan ürün sayısı, tasarruf tutarı ve tahmini karbon/su karşılığı
  • İşletme paneli: paket yayınlama, teslim saati ve stok yönetimi

Kullanılan teknolojiler

109 teknoloji · 12 başlık

Diller ve Platform

  • Dart
  • Flutter
  • Tek kod tabanı, iki platform
  • iOS ve Android yayını
  • Material ve Cupertino tasarım dilleri
  • Platform farkı yönetimi

Arayüz ve Uygulama Katmanı

  • Widget ağacı mimarisi
  • Stateless / Stateful widget
  • Durum yönetimi
  • MediaQuery / LayoutBuilder
  • Navigator ve rota yönetimi
  • Tema ve tasarım sistemi
  • ListView.builder ile sanallaştırma
  • Özel animasyon ve geçişler

Arka Uç ve Veri

  • Firebase Firestore
  • Firebase Authentication
  • Firebase Storage
  • Cloud Functions
  • Firestore güvenlik kuralları
  • NoSQL veri modelleme
  • Firestore transaction
  • Bileşik indeks tasarımı
  • Firestore çevrimdışı önbelleği
  • Batch write
  • İmleç tabanlı sayfalama
  • Denormalizasyon
  • Sayaç alanları
  • Cloud Functions tetikleyicileri
  • Zamanlanmış görevler

Konum ve Harita

  • Konum servisleri (Flutter eklentisi)
  • Google Maps entegrasyonu
  • Konum izin akışları
  • Harita işaretçi yönetimi
  • Geohash coğrafi sorgu
  • Mesafe ve yarıçap hesabı
  • Harita–liste görünüm geçişi

Rezervasyon ve QR Teslimat

  • QR kod üretimi
  • Kamera ile QR tarama
  • Kamera izinleri
  • Tek kullanımlık teslim kodu
  • Sunucu taraflı kod doğrulama
  • Atomik stok tutma (transaction)
  • Rezervasyon zaman aşımı
  • Teslim saati ve zaman dilimi
  • Zamanlanmış Cloud Functions

Bildirim ve Sosyal Katman

  • Firebase Cloud Messaging
  • APNs (iOS)
  • Android bildirim kanalları
  • Bildirim izinleri
  • Takip bazlı bildirim tetikleyicileri
  • Görsel seçici ve sıkıştırma
  • Beğeni ve yorum sayaçları
  • İşletme doğrulama iş akışı
  • Etki metrikleri hesaplama

Asenkron ve Mimari

  • Future / async-await
  • Stream ve StreamBuilder
  • Isolate ile ağır işler
  • MVVM
  • Repository katmanı
  • Servis katmanı ayrımı
  • Hata yönetimi ve yeniden deneme
  • Ortam ayrımı (dev / prod)

Ağ ve Veri Aktarımı

  • HTTP istemcisi
  • JSON serileştirme
  • Yeniden deneme ve zaman aşımı
  • Çevrimdışı durum yönetimi
  • Görsel önbellekleme
  • Dosya yükleme ilerlemesi
  • Bağlantı durumu dinleme

Güvenlik ve Gizlilik

  • Güvenli yerel depolama
  • HTTPS
  • Kimlik doğrulama token yönetimi
  • Oturum yenileme
  • İzin gerekçe metinleri
  • Hesap silme akışı
  • Sunucu taraflı yetki kontrolü

Arayüz Durumları ve Erişilebilirlik

  • Koyu tema (ThemeData)
  • Metin ölçekleme
  • SafeArea
  • Boş / yükleniyor / hata durumları
  • İskelet (skeleton) yükleme
  • RefreshIndicator
  • Klavye ve odak yönetimi
  • Derin bağlantı
  • Semantics ile erişilebilirlik

Test, Hata Ayıklama ve Ölçüm

  • Widget Inspector
  • Performance overlay
  • Bellek profili
  • Konsol ve Logcat
  • Gerçek cihazda test
  • Farklı ekran boyutu testi

Araçlar ve Yayın Süreci

  • Flutter SDK
  • Dart DevTools
  • pub / pubspec bağımlılık yönetimi
  • Xcode (iOS derleme ve imzalama)
  • Android Studio
  • CocoaPods (iOS eklentileri)
  • Gradle (Android derleme)
  • Git
  • App Store Connect
  • Google Play Console
  • TestFlight
  • Play Console iç test
  • flutter build ipa / appbundle
  • Sürüm ve build numaralama
  • İmzalama ve provizyon profilleri
  • App Store inceleme süreci
  • App Privacy / Data Safety formu
  • Mağaza görselleri ve ASO metinleri
Tek kişilik iş

Fikir, tasarım, arayüz, kod, mağaza yayını ve yayın sonrası bakım — sürecin tamamını baştan sona tek başıma yürüttüm. Ekip, ajans ya da dış kaynak yok.

Geliştirme notları

  • Diller ve yaklaşımFlutter ve Dart ile, tek kod tabanından iOS ve Android olarak geliştiriliyor. 2020'den beri mobil yazıyorum; o güne kadarki uygulamalarımı Swift, Java ve Kotlin ile ayrı ayrı yerel olarak yazmıştım. 2026'da tek kod tabanına geçtim.
  • DurumUygulama mağaza onay sürecinde; geliştirme ve yayın hazırlıkları devam ediyor.
  • BağımlılıklarFlutter eklenti ekosisteminden çok sayıda açık kaynak paket kullanılıyor; bağımlılıklar pub ile, platform tarafındaki derleme CocoaPods ve Gradle ile yönetiliyor.
  • Süreli envanterPaketlerin geçerliliği gün içinde doluyor. Rezervasyon bir satış değil stok tutma işlemi; alınmayan rezervasyon süresi dolunca stoğa geri dönüyor.
  • Test ve hata ayıklamaGerçek cihazlarda, farklı ekran boyutlarında ve zayıf ağ koşullarında test ediliyor.
  • Yayın hazırlığıApp Store Connect ve Google Play Console kurulumu, gizlilik bildirimi, mağaza görselleri ve inceleme süreci tek başıma yürütülüyor.
  • Ürün sahipliğiFikir, tasarım, geliştirme, marka kimliği, web sitesi ve pazarlama — sürecin tamamı bana ait.

Vakti Geçmeden hakkında konuşalım

Teknik detayları, karşılaştığım sorunları ve nasıl çözdüğümü memnuniyetle anlatırım.