Skip to content

eceakcay/AllerCheck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AllerCheck

AllerCheck, gıda ürünlerinin alerjen içeriğini kontrol etmenize yardımcı olan bir iOS uygulamasıdır. Barkod tarama ve OCR (Optik Karakter Tanıma) ile ürün bilgisini okur; seçtiğiniz alerjen ve özel hassasiyetlere göre Güvenli, Dikkat veya Riskli sonucu gösterir.

Önemli: Bu uygulama yalnızca bilgilendirme amaçlıdır. Ciddi alerjik reaksiyon riski için mutlaka bir sağlık uzmanına danışın ve ürün etiketini kendiniz de kontrol edin.


Özellikler

Tarama

Özellik Açıklama
Hızlı barkod tarama Barkod okutulur, Open Food Facts’ten ürün bilgisi çekilir
Detaylı tarama Barkod + etiket fotoğrafı ile çapraz doğrulama
Etiket okuma (OCR) Kamera veya galeriden fotoğraf; içindekiler metni analiz edilir
Manuel barkod Barkod elle girilebilir
Ürün bulunamadı Veritabanında yoksa etiket fotoğrafı ile devam edilebilir

Alerjen analizi

  • 12 standart alerjen (laktoz, gluten, yumurta, fıstık, soya, kabuklu yemişler, balık, kabuklu deniz ürünleri, susam, hardal, kereviz, sülfit)
  • Özel hassasiyetler — Listede olmayan kelimeler (ör. çilek, kakao); virgülle İngilizce eşanlam eklenebilir (Çilek, strawberry)
  • İz / çapraz bulaşma uyarısı — “İz miktarda”, “may contain” vb. ifadelerde Dikkat seviyesi
  • Türkçe metin desteği — OCR ve içindekiler için normalleştirme (ş→s, ı→i vb.)
  • Olumsuzlama — “Glutensiz”, “laktozsuz” gibi ifadelerde yanlış alarm azaltılır

Geçmiş ve profil

  • Tarama geçmişi (barkod / etiket türü, risk, eşleşen alerjenler)
  • Detay ekranı, kaydırarak silme, Tekrar tara
  • Alerjen seçimi, açık/koyu tema
  • İlk kullanım onboarding akışı

Diğer

  • Ana sayfa özet kartı (son taramalar)
  • Tıbbi sorumluluk uyarısı (sonuç ekranları)
  • Open Food Facts yanıtları için bellek + disk önbelleği (24 saat)

Risk seviyeleri

Seviye Anlamı
Güvenli Seçili alerjenler içindekilerde tespit edilmedi
Dikkat İz miktarda / çapraz bulaşma uyarısı veya içindekiler eksik
Riskli Seçili alerjen doğrudan içindekilerde veya OFF alerjen etiketinde bulundu

Ekranlar

Ana Sayfa ──► Barkod Tara (Hızlı / Detaylı)
           └──► Etiket Oku (OCR)

Geçmiş ──► Tarama detayı ──► Tekrar tara

Profil ──► Standart alerjenler + Özel hassasiyetler + Tema

Kullanım

İlk kurulum

  1. Uygulamayı açın ve onboarding’de alerjenlerinizi seçin.
  2. İstediğiniz zaman Profil’den listeyi güncelleyin.

Barkod ile tarama

  1. Ana sayfada Barkod Tara’ya dokunun, mod seçin (Hızlı veya Detaylı).
  2. Barkodu kameraya hizalayın veya Manuel Barkod Gir kullanın.
  3. Sonuç ekranında risk seviyesi ve eşleşen alerjenleri inceleyin.
  4. İsterseniz Etiket Doğrulama ile OCR’a geçin.

Etiket ile tarama

  1. Ana sayfada Etiket Oku’ya gidin.
  2. Fotoğraf çekin veya galeriden seçin; metni gerekirse düzenleyin.
  3. Analiz Et ile sonucu görün.

Özel hassasiyet ekleme

  1. ProfilÖzel Hassasiyetler
  2. Örn. Kakao veya Çilek, strawberry yazıp + ile ekleyin.
  3. Eklenen hassasiyet otomatik seçilir; taramalarda içindekiler metninde aranır.

Teknolojiler

Alan Kullanılan
UI SwiftUI
Mimari MVVM
Veri Core Data, UserDefaults
Kamera / barkod AVFoundation
OCR Vision
URLSession
Ürün verisi Open Food Facts API

Gereksinimler

  • iOS 17.0+
  • Xcode 15.0+ (önerilen: güncel Xcode)
  • Swift 5.9+
  • Kamera izni (barkod ve OCR için)

Kurulum

git clone <repository-url>
cd AllerCheck
open AllerCheck.xcodeproj

Xcode’da hedef cihaz veya simülatör seçip ⌘R ile çalıştırın.


Proje yapısı

AllerCheck/
├── App/                    # Uygulama girişi, Core Data, varlıklar
├── Core/
│   ├── Models/             # Allergen, ProductDTO, RiskLevel, ScanMode…
│   ├── Services/           # AllergenAnalyzer, OpenFoodFacts, History
│   ├── ViewModels/         # MVVM katmanı
│   ├── Helpers/            # OCRTextParser, TextNormalizer…
│   └── Utils/              # UserSettings, AppTheme, AllergenData…
├── UI/
│   ├── Screens/            # Home, Scan, OCR, Result, History, Profile…
│   └── Components/         # CameraView, MedicalDisclaimerBanner…
└── PrivacyInfo.xcprivacy   # Apple gizlilik bildirimi

AllerCheckTests/            # Birim testleri (alerjen analizi, OCR ayrıştırma)

Testler

# Xcode içinde
⌘U  →  AllerCheckTests şeması

Test kapsamı örnekleri:

  • Fıstık / antep fıstığı ayrımı
  • Özel hassasiyet eşleşmesi
  • OCR içindekiler çıkarma
  • İz etiketi uyarısı

API yapılandırması

Ürün sorguları OpenFoodFactsService.swift içinde yapılır:

GET https://world.openfoodfacts.org/api/v2/product/{barcode}?lc=tr&fields=...

Yanıtlar off_product_cache.json dosyasında önbelleğe alınır.


Gizlilik

  • Tarama geçmişi ve alerjen tercihleri cihazda saklanır.
  • PrivacyInfo.xcprivacy — UserDefaults ve dosya zaman damgası API bildirimi.

Lisans

Bu proje kişisel kullanım için geliştirilmiştir.

Geliştirici

Ece Akçay

About

AllerCheck, ürünlerin alerjen içeriğini kontrol etmenize yardımcı olan bir iOS uygulamasıdır. Barkod tarama ve OCR teknolojileri kullanarak ürün etiketlerini analiz eder - bitirme projem

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages