Shelfy

# 🥫 Shelfy

Shelfy, kilerinizdeki ürünleri barkod okutarak takip etmenizi sağlayan bir .NET MAUI mobil uygulamasıdır. Ürün bilgilerini otomatik olarak OpenFoodFacts veritabanından çeker, son kullanma tarihi yaklaşan ürünler için bildirim gönderir.

## ✨ Özellikler

- 📷 **Barkod Tarama** — ZXing.Net.MAUI ile hızlı ve güvenilir barkod okuma

- 🌐 **Otomatik Ürün Bilgisi** — OpenFoodFacts API üzerinden ürün adı, marka ve görsel otomatik çekilir

- ✍️ **Manuel Ürün Ekleme** — API’de bulunamayan ürünler için elle giriş formu

- 🔍 **Arama ve Filtreleme** — Ürün adı veya markaya göre anlık arama

- 🔔 **SKT Bildirimleri** — Son kullanma tarihine 2 gün kala otomatik bildirim

- 🗑️ **Güvenli Silme** — Yanlışlıkla silmeyi önleyen onay diyaloğu

- 💾 **Yerel Veri Tabanı** — SQLite ile tamamen çevrimdışı çalışabilen veri kalıcılığı

- 🌗 **Karanlık Mod Desteği**

## 🛠️ Kullanılan Teknolojiler

Katman Teknoloji

|—|—|

UI Framework .NET MAUI
Mimari MVVM (CommunityToolkit.Mvvm)
Barkod Okuma ZXing.Net.MAUI.Controls
Yerel Veri Tabanı sqlite-net-pcl
Ürün Bilgisi API OpenFoodFacts
Bildirimler Plugin.LocalNotification
Dependency Injection Microsoft.Extensions.DependencyInjection

## 📱 Ekranlar

- **Kilerim (InventoryPage)** — Tüm ürünlerin kart görünümünde listelendiği ana ekran, arama çubuğu ile birlikte

- **Tarama (ScanPage)** — Kamera üzerinden canlı barkod okuma

- **Ürün Detayı (ProductDetailsPage)** — Taranan barkoda ait bilgilerin gösterildiği ve SKT/adet girişinin yapıldığı ekran

- **Elle Ekleme (ManualEntryPage)** — API’de bulunamayan ürünler için manuel giriş formu

## 🚀 Kurulum


git clone https://github.com/yusufemrekimsesiz/Shelfy.git

cd Shelfy

dotnet restore

dotnet build

Android cihazda çalıştırmak için:


dotnet build -t:Run -f net10.0-android

## 📋 Gerekli İzinler

- Kamera (barkod tarama için)

- İnternet (OpenFoodFacts API için)

- Bildirim (SKT hatırlatmaları için)

## 🗂️ Proje Yapısı

Shelfy/

├── Models/ # PantryItem, ProductInfo

├── Services/ # DatabaseService, ProductApiService, NotificationService

├── ViewModels/ # MVVM ViewModel sınıfları

├── Views/ # XAML sayfaları

├── Converters/ # Değer dönüştürücüler

└── Platforms/ # Platform özel yapılandırmalar

## 📄 Lisans

Bu proje kişisel kullanım amacıyla geliştirilmiştir