Güncel kod ve çalışma durumu · 17 Temmuz 2026

Ürün Tanımı, Teknik Yapı ve Doğrulama Raporu

Bu rapor BUNNY'nin bugün ne yaptığını, girdileri nasıl işlediğini, hangi kontrollerle yayın ürettiğini ve gerçek kullanım öncesindeki açık sınırlarını anlatır. Bulgular güncel BUNNY kodu, arayüzü, veri şeması, otomatik testleri, üretim derlemesi ve canlı erişim yapısı üzerinden doğrulanmıştır.

14Kanonik alerjen grubu
6Ana veri tablosu
49 / 49Geçen otomatik test
GirişsizBu raporun erişimi
01

Ürün

Ürün Tanımı

Bu ürün ne yapıyor?

BUNNY, restoranın mevcut menüsünü alerjen ve enerji beyanına dönüştüren dar kapsamlı bir işletme aracıdır. Menü fotoğraflarını okuyarak ürün adları, olası alerjenler ve enerji değerleri için bir başlangıç taslağı çıkarır. Bu taslak doğrudan yayınlanmaz; işletme her ürünü kontrol eder, gerektiğinde düzeltir ve açıkça onaylar.

Ürünün çözmeye çalıştığı sorun, menüdeki çok sayıdaki kalem için beyan bilgisini tek tek hazırlama, güncel tutma ve tüketiciye hem mobil hem basılı biçimde sunma yüküdür. BUNNY bu işi reçete, fiyat, sipariş veya işletme yönetimi gibi başka alanlara genişletmez; odağını alerjen ve enerji listesinde tutar.

Karar işletmede kalır. Görsel model öneri üretir; ürünün gerçek içeriğini veya enerji bilgisini kesin kaynak olarak ilan etmez. Yayın, işletmenin ürün bazındaki kontrolü ve sorumluluk onayıyla oluşur.

Kim için değer üretiyor?

Güncel arayüz doğrudan restoran sahibi veya menü beyanını hazırlayan işletme görevlisine yöneliktir. Tüketici tarafında ise ayrı hesap gerektirmeyen QR sayfası vardır. Çok kullanıcılı ekip, şube veya farklı yetki rolleri bugün uygulanmış değildir.

Kullanıcı akışı

  1. 01

    İşletmeyi oluşturma

    İşletme adı girilir. Sistem benzersiz bir menü adresi ve yalnızca bir kez gösterilen, tahmin edilmesi güç özel yönetim bağlantısı üretir.

  2. 02

    Menü görsellerini okuma

    Bir veya birden fazla menü fotoğrafı yüklenir. Görsel model; ürün adı, kategori, olası alerjenler ve enerji için düzenlenebilir öneriler hazırlar.

  3. 03

    İşletme kontrolü

    Her ürünün alerjen durumu ile 100 g veya 100 ml ve porsiyon enerji değerleri gözden geçirilir. Ürün eklenebilir, kaldırılabilir ve tek tek onaylanabilir.

  4. 04

    Sürümlü yayın

    Tüm ürünler onaylı ve enerji alanları eksiksiz olduğunda sorumluluk beyanı kabul edilir; yeni, değiştirilemez bir yayın sürümü oluşturulur.

  5. 05

    QR ve baskı çıktısı

    Tüketici mobil QR menüsünde onaylı beyanı görür ve alerjen filtresini kullanabilir. İşletme aynı sürümün QR kodunu ve yazdırılabilir matrisini alır.

Sisteme girenler

Girdiler

  • İşletme adı
  • JPEG, PNG, WebP, HEIC veya HEIF menü fotoğrafları
  • Ürün adı ve isteğe bağlı kategori düzeltmeleri
  • 14 alerjen grubu için işletme beyanı
  • 100 g veya 100 ml başına kalori ile porsiyon miktarı
  • Ürün bazında kontrol ve yayın sorumluluğu onayı

Kullanıcıya sunulanlar

Çıktılar

  • İşletme tarafından kontrol edilebilir ürün listesi
  • Her ürün için “İçerir”, “İçerebilir” veya “Beyan edilmedi” durumu
  • 100 g/ml ve porsiyon başına kcal ile kJ değerleri
  • Sürüm ve tarih bilgisi taşıyan herkese açık mobil sayfa
  • Tüketicinin beyan edilmiş alerjenlere göre kullanabildiği filtre
  • SVG QR kodu ve yazdırılabilir alerjen–enerji matrisi

Kullanıcı sonuç üzerinde ne yapabiliyor?

İşletme ürünleri elle ekleyebilir veya kaldırabilir; her alerjeni “İçerir”, “İçerebilir” ya da “Beyan edilmedi” durumuna getirebilir; enerji değerlerini ve g/ml birimini değiştirebilir. Yayından sonra bağlantıyı kopyalayabilir, WhatsApp paylaşım metni hazırlayabilir, QR kodunu SVG olarak indirebilir ve baskı görünümünü açabilir.

Tüketici, yayındaki ürünleri kategori halinde görür ve seçtiği alerjeni “İçerir” veya “İçerebilir” olarak bildiren ürünleri gizleyebilir. Filtre bilgilendirme yardımcısıdır; işletmenin beyan etmediği bir alerjeni güvenli kabul etmez.

02

Mimari

Teknik Yapı

BUNNY tek bir web uygulaması içinde arayüz, sunucu işlemleri, ürün kuralları ve veri erişimini bir arada tutar. Buna karşın sorumluluklar kod içinde ayrıdır: arayüz kullanıcı etkileşimini, komut katmanı değişiklikleri, sorgu katmanı okumaları, çıkarıcı ise yapay zekâ sonucunu yönetir. Bu ayrım, önerinin doğrudan yayına dönüşmesini engelleyen akışı görünür kılar.

Arayüz ve sunucu işlemleri

BUNNY, Next.js App Router ve React 19 ile çalışır. Bilgi sayfaları ve veri okuyan ekranlar sunucuda hazırlanır; formlar sunucu işlemlerini çağırır. Böylece kayıt, tarama, düzenleme ve yayın kararları yalnız tarayıcı durumuna bırakılmaz.

Veri ve dosya ayrımı

İşletmeler, taramalar, taramaya bağlı dosya kayıtları, ürünler, yayın sürümleri ve olay kayıtları PostgreSQL'de altı ana tabloda tutulur. Yüklenen görseller veritabanına gömülmez; kalıcı dosya alanına yazılır ve veritabanında yalnız konumu saklanır.

Görselden yapılandırılmış öneriye

Her fotoğraf görsel modele ayrı gönderilir. Sonuç serbest metin olarak kullanılmaz; BUNNY'nin Zod şemasından geçmesi gerekir. Geçerli sonuçlar birleştirilir ve ürün bazında yapay zekâ kaynağı ile güven düzeyi korunur.

İşletme kararı ve yayın kapısı

Yapay zekâ çıktısı taslaktır. Alerjen veya enerji alanındaki her değişiklik önceki ürün onayını sıfırlar. Yayın; en az bir ürün, tüm ürünlerde güncel işletme onayı, eksiksiz enerji ve sabit sorumluluk metni olmadan oluşturulmaz.

Değiştirilemeyen sonuç sürümü

Yayın anında ürünlerin tamamı tek bir anlık görüntüye dönüştürülür. Her yeni yayın sürüm numarasını artırır; eski yayın satırı değiştirilmez. Tüketici sayfası düzenleme tablosunu değil, yalnız son onaylı yayın görüntüsünü okur.

Kamuya açık sunum

QR menü ve baskı görünümü aynı onaylı yayın verisini kullanır. Enerji için kJ ve porsiyon değerleri modelden alınmaz; kcal girdisinden kod içinde 4,184 katsayısıyla deterministik olarak hesaplanır ve yayın sürümüne yazılır.

Yapay zekâ ve dış servis kullanımı

BUNNY'nin kendi BunnyExtractor sözleşmesi vardır. Güncel canlı ana servis fal.ai görsel uç noktasını ve yapılandırma değiştirilmediyse Claude Sonnet 4.5 modelini kullanır. Ayrı demo servisi gerçek dış çağrı yapmayan, her seferinde aynı örnek sonucu döndüren mock çıkarıcıyla çalışır. Model adı ortam ayarıyla değiştirilebilir; ancak kodda bugün uygulanmış gerçek sağlayıcı fal.ai, ikinci uygulama ise test/demo amaçlı mock'tır.

Model yanıtı ilk seferde kabul edilmez. Yalnız BUNNY şemasına uyan JSON kullanılır; şema ihlalinde doğrulama katmanı yeniden deneme yapar. İstemde fotoğrafta görünmeyen menü kalemlerini uydurmama, kesin “içermez” veya sağlık iddiası üretmeme yönlendirmeleri vardır. Ayrıca “içermez” durumu şemaya hiç alınmadığı için bu iddia model çıktısından sisteme taşınamaz.

Durum ve hata yönetimi

Tarama “işleniyor” durumuyla açılır; başarılıysa “tamamlandı”, hata alırsa hata metniyle “başarısız” olur. Arayüz uzun görsel işlemi sırasında bekleme durumu gösterir. Form hataları Türkçe ve ilgili işlem bağlamında sunulur. Başarılı değişiklikten sonra sunucu sayfayı yeniden doğrulayarak yeni veriyi gösterir.

Kalıcı veri, hesap ve geçmiş

İşletme, ürün, tarama, yayın ve olay verileri kalıcıdır. Yayınlar numaralı ve eklemeli tutulduğu için önceki sürümler veritabanında korunur. Buna rağmen kullanıcıya açılmış bir sürüm geçmişi veya geri yükleme ekranı yoktur. Gerçek hesap sistemi de yoktur; özel yönetim bağlantısı erişim anahtarıdır ve kaybolduğunda uygulama içinden kurtarılamaz.

Harici entegrasyonların sınırı

Güncel BUNNY kodunda fal.ai dışında ödeme, e-posta, analitik, sipariş, resmî portal veya başka bir işletme yönetim sistemi entegrasyonu yoktur. QR görseli uygulama içinde üretilir; PostgreSQL ve kalıcı dosya alanı ürünün kendi veri katmanıdır.

03

Güvenilirlik

Doğrulama

Sistem içinde yapılan doğrulamalar

Güvenilirlik yalnız form alanlarının dolu olmasına dayanmaz. BUNNY, dosya kabulünden model çıktısına; ürün sahipliğinden yayın sürümüne kadar birbirini tamamlayan kontroller uygular.

Girdi ve dosya kontrolleri

Boş işletme veya ürün adı reddedilir. Yükleme en az bir dosya ister; yalnız desteklenen görsel türleri kabul edilir ve her dosya 12 MB ile sınırlandırılır.

Yapay zekâ çıktı şeması

Alerjen kodu yalnız kanonik 14 seçenekten biri olabilir. Model “içermez” sonucu üretemez; yalnız “İçerir” veya “İçerebilir” önerebilir. Enerji tam sayı, 0–900 kcal/100 g veya ml; porsiyon 1–1500 g veya ml aralığında olmalıdır.

Yetki sınırı

Her yönetim işlemi özel bağlantıdaki token'ı yeniden doğrular. Düz token veritabanında tutulmaz; SHA-256 özeti saklanır. Ürün değişikliklerinde ürünün aynı işletmeye ait olduğu ayrıca kontrol edilir.

Onay tazeliği

Bir ürün onaylandıktan sonra alerjen veya enerji değeri değiştirilirse onay otomatik kaldırılır. Böylece eski bir kontrol işareti yeni bilgi için kullanılamaz.

Yayın güvenliği

Eksik ürün, onaysız ürün, eksik enerji veya kabul edilmemiş sorumluluk metni yayını durdurur ve sorunlu ürünleri adıyla bildirir. Kamuya açık sayfa taslak veriyi hiçbir zaman doğrudan okumaz.

Güvenli anlamlandırma

“Beyan edilmedi”, “içermez” olarak yorumlanmaz. Tüketici filtresi yalnız işletmenin “İçerir / İçerebilir” beyanlarına göre ürün gizler; belirsiz kaydı güvenli ürün gibi göstermez.

Bu oturumda yapılan güncel geliştirme doğrulamaları

Aşağıdaki sonuçlar eski bir rapordan alınmadı; bu sayfa hazırlanırken mevcut çalışma kopyasında yeniden çalıştırıldı ve yayın sonrasında giriş yapılmamış canlı durumla tekrar kontrol edildi.

KontrolSonuçKanıt kapsamı
Tip kontrolü BaşarılıBUNNY TypeScript kodu hata vermeden kontrol edildi.
Kod kalite kontrolü BaşarılıBUNNY uygulama ve migration kaynakları ESLint denetiminden geçti.
Otomatik testler 49 / 49 geçti4 test dosyası; veri şeması, token, tarama, enerji hesabı, yayın kapısı, sürümleme, kamuya açık filtre ve demo verisi senaryoları.
Üretim derlemesi BaşarılıNext.js üretim derlemesi tamamlandı ve rapor yolu bağımsız sayfa olarak üretildi.
Canlı girişsiz erişim BaşarılıRapor doğrudan 200 yanıtıyla açıldı; ana uygulama kapıda kaldı, rapor bağlantısı BUNNY giriş kartının altında ve demo içinde ikinci bağlantı yok.
Test başarısı ile çıktı doğruluğu aynı şey değildir. Bu kontroller veri kurallarının ve uygulama akışının beklenen biçimde çalıştığını gösterir. Farklı restoran fotoğraflarında ürün, alerjen ve enerji önerilerinin saha doğruluğunu tek başına kanıtlamaz.

Bugün çalışan

Uygulanmış özellikler

  • İşletme oluşturma ve tek sefer gösterilen özel yönetim bağlantısı
  • Birden fazla menü görselini gerçek fal.ai görsel modeliyle veya demo ortamında sabit örnek çıkarıcıyla işleme
  • Ürün ekleme/kaldırma; alerjen ve enerji önerilerini düzeltme; ürün bazında yeniden onay
  • Eksikleri engelleyen yayın kapısı ve değiştirilemeyen sürüm kayıtları
  • Mobil QR menüsü, alerjen filtresi, QR paylaşımı ve yazdırılabilir matris

Bugün bulunmayan

Açık sınırlar

  • Gerçek kullanıcı hesabı, parola, bağlantı kurtarma, ekip rolleri ve şube yetkileri yoktur; özel yönetim bağlantısına sahip olmak erişim için yeterlidir.
  • Eski yayınlar veride korunur fakat bunları listeleyen, karşılaştıran veya geri yükleyen bir geçmiş ekranı yoktur.
  • Müşteri/işletme arşivi, kişiselleştirme, ödeme, e-posta bildirimi ve harici yönetim sistemi entegrasyonu uygulanmış değildir.
  • Bu oturumdaki otomatik testler gerçek görsel modelin farklı menülerdeki alan doğruluğunu ölçmez; canlı bir üretim menüsü üzerinde kalite kabul testi yapılmadı.

Gerçek üretim kullanımı öncesindeki gerekli kontroller

Aşağıdaki maddeler çalışıyor gibi sunulan özellikler değildir; mevcut kod ve risk sınırlarından çıkan üretim hazırlığı gereksinimleridir.

  1. 01

    Gerçek kullanıcı kimliği, güvenli erişim kurtarma, oturum yönetimi ve gerekliyse ekip/rol modelinin tamamlanması

  2. 02

    Farklı fotoğraf kalitesi, dil, menü düzeni, yiyecek ve içeceklerden oluşan temsilî veri setinde alan bazlı doğruluk ölçümü

  3. 03

    Alerjen ve enerji sunumunun güncel mevzuat ile işletme süreçlerine uygunluğunun yetkili uzman tarafından gözden geçirilmesi

  4. 04

    Dosya içeriği doğrulama, kötüye kullanım sınırları, kota/rate limit, izleme ve hata alarmı kontrollerinin eklenmesi

  5. 05

    BUNNY veritabanı ile görsel deposu için yedek alma ve gerçek geri yükleme provasının kayıt altına alınması

  6. 06

    Gizlilik, saklama süresi, silme talebi ve işletme değişikliği gibi operasyonel süreçlerin tanımlanması

04

Değerlendirme

Sonuç

BUNNY'nin temel değeri, menü fotoğrafını nihai gerçek gibi kabul etmek yerine işletmenin kontrol edeceği düzenli bir taslağa dönüştürmesidir. Ürün kapsamını alerjen ve enerji beyanında dar tutar; kullanıcı kararını zorunlu kılar ve tüketiciye yalnız onaylanmış, sürümlü sonucu gösterir.

Güncel kod; kayıt, görsel okuma, düzenleme, ürün bazında onay, yayın kapısı, QR menü ve baskı çıktısı için çalışan bir bütün sunmaktadır. Otomatik testler ve üretim derlemesi bu bütünün teknik tutarlılığını destekler. Buna karşın gerçek hesap güvenliği ve saha verisiyle model kalite ölçümü tamamlanmadan ürünün geniş ölçekli, denetimsiz kullanıma hazır olduğu sonucuna varılmamalıdır.

Ana sayfaya dön