Airsense
Koku makinesi kiralama ve servis işi için ERP paneli, teknisyen uygulaması ve müşteri uygulamasından oluşan platform.
Katkım: Express + Prisma + PostgreSQL API, Next.js ERP paneli ve iki Flutter uygulaması.
Üründen Görüntüler
İlk prototip (07.2026) — makinelerin harita üzerindeki konumu
Görsel yakında eklenecek

Projenin Arkasındaki Kararlar
Teknik yaklaşım ve mimari
Airsense, koku makinesi kiralama ve servis işini uçtan uca dijitalleştiren bir platform. Üç istemci tek bir API'yi paylaşıyor: Next.js 16 ile geliştirdiğim ERP ve yönetim paneli, teknik servis ekibi için Flutter uygulaması ve müşteriler için ayrı bir Flutter uygulaması.
Arka uç Express + Prisma + PostgreSQL üzerinde çalışıyor: 37 veri modeli, 186 rota işleyicisi, JWT ile kimlik doğrulama ve rol bazlı yetkilendirme. Yönetim paneli, token'ı tarayıcıda tutmayan BFF + httpOnly çerez deseniyle çalışıyor; ERP tarafında kiralama, tahsilat, stok, finans, İK/bordro ve denetim izi modülleri var. Teknisyen uygulamasında iş emirleri, QR kodla makine bulma, harita ve bakım rotası; müşteri uygulamasında OTP ile giriş, mağaza ve sepet, sipariş takibi, bildirimler ve akıllı makine özelliklerinin yönetimi bulunuyor.
İş kurallarını ürünün içine yerleştirdim: önleyici bakım takviminden otomatik iş emri, en yakın komşu sırasıyla bakım rotası ve 60 günlük kartuş ihtiyaç tahmini ile stok uyarısı. Geciken kira için kademeli tahsilat eskalasyonunu da kurdum (7. günde askıya alma, 14. günde yazılımda kilit); kurumsal müşterilerin uzun ödeme vadeleri yüzünden varsayılan olarak kapalı, yönetici kararıyla açılıyor. Makinelere giden komutları donanıma hazır bir kuyrukla soyutladım; fiziksel cihaz bağlantısı yol haritasında olduğu için cihaz davranışı geliştirme sırasında cron tabanlı bir simülatörle üretiliyor.
Kalite tarafında 74 backend test dosyası var (09.09.2026 koşusunda 712/712 test geçti). GitHub Actions'ta testler ve kapsam, panel derlemesi, Flutter analizi, gitleaks sır taraması ve uçtan uca RBAC testi çalışıyor. Geliştirme sırasında teknisyen rolünün 20 rotanın 19'una erişebildiği bir yetki açığını bulup kapattım ve yetkileri tek bir politika dosyasında topladım.
Karşılaştığım sorunlar
Koku makinesi kiralayan bir işletmede kira tahsilatı, bakım planı, kartuş stoku, sahadaki servis işleri ve müşteri siparişleri farklı yerlerde ve çoğunlukla elle takip ediliyor. Geciken ödemeler geç fark ediliyor, bakım ve kartuş ihtiyacı önceden görülmüyor; müşterilerin de makinelerini ve siparişlerini kendi başına yönetebileceği bir arayüz yok.
Çözüm ve tercih ettiğim yaklaşım
Airsense bu işi tek platformda topluyor: ERP paneli kira, tahsilat, stok, finans ve İK süreçlerini yönetiyor; teknisyen uygulaması iş emirlerini, QR ile makine bulmayı ve bakım rotasını sahaya taşıyor; müşteri uygulaması mağazayı, siparişleri ve akıllı makine özelliklerini müşterinin telefonuna getiriyor. Otomatik iş emri ve kartuş tahmini gibi kurallar ürünün içinde tanımlı olduğu için bu işler elle takip edilmek yerine sistem tarafından tetikleniyor; tahsilat eskalasyonu ise yönetici açtığında devreye giriyor.