Skip to content

abdullah-altunkaynak/Flutter_E-Commerce

Repository files navigation

flutter_ecommerce

Projenin Amacı

Bu projede amacım Flutter'da öğrendiğim teknolojileri tecrübe etmek ve test etmek. Bu projede Rest API kullanılarak "https://fakestoreapi.com/" adresinden e-ticaret ile ilgili fake bilgileri çekmek ve göstermektir. API'ye kayıtlı ürünler, kullanıcılar, sepetler vs. bulunmakta. Kullanıcı giriş yapabilir, sepetlerini, profil bilgilerini ve ürünleri kategorilerine göre görebilir. Bu projede MVVM mimarisini kullanarak daha anlaşılır bir kod yazmayı hedefledim. Projede veriler canlı olmadığı için uygulama başlangıcında verileri çekip provider olarak kullandım. Gerçek projede canlı verilerle uğraşırken bu değişiklik gösterebilir. Giriş yapan kullanıcı bilgisini provider içinde saklamam gerekirdi fakat route-args yapısını tecrübe etmek için user nesnesini sayfalar arasında geçiş yaptırdım.


Proje İçerisindeki Yapılar

  • Kullanılan Teknolojiler

  • Dosyalar ve İçerikleri

    • Model - İçerisinde (cart.dart, products.dart, user.dart) kullanılan verilerin modelleri class biçiminde bulunmakta.

    • Services - İçerisinde (rest_api.dart) rest api ile web üzerinden verileri çekeceğimiz ve modellere aktaracağımız fonksiyonlar bulunmakta.

    • View - İçerisinde (CategoriesScreen.dart, LetsStartScreen.dart, LoginScreen.dart, MainPageScreen.dart, WelcomeScreen.dart) sayfaların tasarımları bulunmakta ve verilerle ilgili kullanılması gereken fonksiyonlar mümkün olduğunca bu dosyaların dışında kurulmuştur.

    • ViewModel - İçerisinde model-services-view arasındaki köprüyü kuracağımız provider yapısını ve fonksiyonlarını barındırıyor.

    • Assets - içerisinde logoyu barındırıyor ve bu dosyada projede kullanacağımız diğer medyaları vs. tutabiliriz.

Uygulama Çalışır Görüntüsü

Gif