/iOS-KebApp-Food-Delivery-App

KebApp is a simple food ordering application developed for educational purposes.

Primary LanguageSwift

KebApp Food Delivery App

[TR]🇹🇷 KebApp eğitim amaçlı geliştirilmiş basit bir yemek siparişi uygulamasıdır. Başlangıçta 'Swift ile iOS Geliştirici Eğitim Kampı' için mezuniyet projesi olarak sunmuştum ve mezuniyet sonrası geliştirmeye devam ediyorum. Bu proje, Firebase kullanarak kullanıcı kaydı, oturum açma, kullanıcı veri depolama, profil görüntüleme ve beğenilen öğeleri kaydetme gibi işlevleri kapsıyor. Ek olarak ürün bilgilerini görüntülemek, sepete eklemek, sepetten silmek ve sepette görüntülemek için Alamofire paketi kullandım. Ayrıca kodlarımı MVVM mimarisine ve artısı olarak RxSwift'e göre yazdım. Genel olarak bu projem, bootcamp boyunca öğrenilen çeşitli özellikleri, sonrasında araştırarak öğrendiğim şeyleri ve öğrenmeye devam ettikçe neler yapabildiğimi göstermek için tasarlanmış temel bir proje görevi görüyor.

[EN]🇬🇧 KebApp is a simple food ordering application developed for educational purposes. I originally submitted it as a graduation project for the 'iOS Developer Bootcamp with Swift' and I continue to develop it after graduation. This project includes functions such as user registration, login, user data storage, profile viewing and saving liked items using Firebase. In addition, I used the Alamofire package to get, display, and add products to the cart or delete and display them in the cart. I also wrote my code based on the MVVM architecture and RxSwift as a plus. Overall, this project serves as a basic project designed to show the various features learned during the bootcamp, what I learned by researching after, and what I can do as I continue to learn.

SS from the app 🏞

Loading Screen Login Screen Register Screen Register Complete Screen
Home Screen Food Detail Screen Likes Screen Food Cart Screen
My Profile Screen Addresses Screen Address(Add) Screen Address(Edit) Screen
Payment Methods Screen Card(Add) Screen Card(Edit) Screen
Checkout(1) Screen Checkout(2) Screen Order Confirm Screen

Video from the app📱

Video 1 (old) Video 2 (new features)
KebApp.Video.mp4
secondVideoKebApp.mp4

Tech Stack 📚

Architecture 📐

[TR]🇹🇷 Uygulama, MVVM mimarisi ile birlikte RxSwift kütüphanesini kullanmaktadır. MVVM, kodu Model, View ve ViewModel olarak üç temel bileşene bölerken, RxSwift reaktif programlama prensiplerini ekleyerek olay odaklı ve tepki veren bir programlama modelini destekler. Bu tasarım deseni ve reaktif programlama, temiz, modüler ve etkileşimli bir kod yapısı oluşturmamıza olanak tanır. Bu yaklaşım, kodun daha anlaşılır ve bakımı daha kolay olmasının yanı sıra test edilebilirlik, reaktivite ve asenkron programlama avantajlarını da beraberinde getirir.


[EN]🇬🇧 The app utilizes the MVVM architecture along with the RxSwift library. MVVM divides our code into three essential components: Model, View, and ViewModel, while RxSwift introduces reactive programming principles, supporting an event-driven and responsive programming model. This design pattern, combined with reactive programming, enables us to create a clean, modular, and interactive code structure. This approach not only enhances code clarity and maintainability but also brings advantages such as testability, reactivity, and asynchronous programming.