Smart Shopping

Kullanıcıların fiyat karşılaştırması yaparak tasarruf edebilmesi için geliştirdiğim mobil alışveriş uygulaması.

Smart Shopping 1
Smart Shopping 2
Smart Shopping 3
Smart Shopping 4
Smart Shopping 5
Smart Shopping 6
Smart Shopping 7

Proje Açıklaması

Bu mobil uygulama, Android Studio ortamında Java diliyle geliştirilmiş olup, günlük hayatta sık karşılaşılan bir soruna çözüm sunmayı amaçlamaktadır: Farklı mağazalar arasında ürün fiyatlarını karşılaştırarak harcamaları azaltmayı hedefler. Uygulama, kullanıcıların aradıkları ürünü kolayca bulmalarını ve çeşitli perakendecilerdeki fiyat bilgilerine anında erişmelerini sağlar. Aynı zamanda, alışveriş sepetindeki ürünlerin toplam maliyetini hesaplayarak, kullanıcıların mağazaları tek tek dolaşmasına gerek kalmadan zaman kazanmalarına ve kasada beklenmedik fiyatlarla karşılaşmamalarına yardımcı olur.

JDBC ve Firebase entegrasyonları sayesinde uygulama, hem üreticilerin ürün verilerini eklemesine olanak tanır hem de son kullanıcılara gerçek zamanlı fiyat karşılaştırmaları ve detaylı ürün bilgileri sunar. QR kod ve mobil ödeme teknolojileri ile kullanıcılar hem zamandan hem de ekonomik açıdan tasarruf sağlar. Ürünlere ait kullanıcı yorumları da Firebase veritabanında tutulmakta olup, kullanıcıların deneyimlerini paylaşmalarına ve diğer kullanıcıların bu yorumlardan faydalanarak daha bilinçli alışveriş kararları almalarına olanak tanır. Bu sayede uygulama, sadece fiyat karşılaştırması sunmakla kalmaz, aynı zamanda sosyal geri bildirimlerle desteklenen kapsamlı bir alışveriş rehberine dönüşür.

Veri erişimini optimize etmek ve arama işlemlerini hızlandırmak amacıyla HashMap veri yapısı kullanılmıştır. HashMap, anahtar-değer mantığıyla çalışarak ürün isimleri veya barkod gibi benzersiz tanımlayıcılar üzerinden hızlı ve etkili veri sorgulama imkânı sunar. Böylece kullanıcılar bir anahtar kelime girdiğinde, uygulama veri setinin tamamını taramak yerine ilgili bilgiyi anında getirerek performansı artırır.

Ayrıca uygulama, alışveriş sepetini dinamik olarak yönetebilmek için LinkedList veri yapısını kullanır. Bu yapı sayesinde kullanıcılar, sepete ürün ekleme ve çıkarma işlemlerini verimli bir şekilde gerçekleştirebilir. Geri alma (undo) işlevselliği için ise Stack veri yapısı tercih edilmiştir. Böylece kullanıcılar istemeden sildikleri ürünleri kolayca geri alabilirler. Tüm bu veri yapıları, nesne yönelimli programlama (OOP) prensipleriyle bir araya getirilerek uygulamanın performansını artırır, esnekliğini güçlendirir ve kullanıcı deneyimini iyileştirir.

Kullanılan Teknolojiler

Java
Android Studio
Firebase
Data Structures
OOP
XML
Git