Code Monkey home page Code Monkey logo

getirliteapp's Introduction

Getir Lite App

Getir Lite App is a scaled down version of the iOS app for Getir. This app was developed as the final project of Getir and Patika's bootcamp. Check out the 1-min demo video. The screenshots and the video use iPhone 15 Pro.

Screenshots

Splash Screen Product Listing Product Listing Product Detail
Splash Screen Product Listing Product Listing Product Detail
Product Detail Shopping Cart Shopping Cart Order Message
Product Detail Shopping Cart Shopping Cart Order Message

Features

  • Product Listing
  • Product Detail
  • Shopping Cart

Requirements

  • iOS 15.2+
  • Xcode 13.2+

How to run?

Running this application is a straightforward process, requiring no special configurations. However, in case you encounter any issues during execution, ensure that you are utilizing the recommended versions of the package dependencies listed below:

  • Alamofire: 5.9.1
  • Kingfisher: 7.11.0

Technical Details

  • iOS Version and Framework: The app is built for iOS 15.2 and above using UIKit framework.
  • Architecture: VIPER (View, Interactor, Presenter, Entity, Router) architecture pattern is employed for organizing the codebase. This promotes separation of concerns and facilitates unit testing.
  • UI Layout: Compositional Layout is utilized for arranging UI elements, providing flexibility and efficiency in managing complex layouts.
  • Data Management:
    • Singleton Class: A singleton class named "LocalData" is implemented for storing selected products and total bill locally. This ensures a single instance of the class throughout the app's lifecycle.
    • Core Data Integration: Core Data is employed for saving and loading selected products and total bill state, ensuring persistence even when the app is closed or reopened.
  • Networking: Alamofire is used as the networking manager to handle API requests and responses efficiently. This abstracts away the complexities of network handling and provides a cleaner interface for API interactions.
  • Custom Cells:
    • Product Cell: A custom cell used in both the listing and shopping cart screens to display product information.
    • Selected Product Cell: Another custom cell exclusively used in the shopping cart screen to display selected products.
  • Protocol Implementation:
    • ProductProtocol: Implemented to transform MainProduct and SuggestedProduct objects into a unified Product format. This abstraction allows for easier management and display of product data in the collection view cells.
  • Functionality:
    • Persistence: The use of Core Data ensures that selected products and total bill are preserved across app sessions, preventing data loss.
    • Lifecycle Management: The app utilizes lifecycle events such as closing and opening to trigger Core Data operations for saving and loading data, maintaining continuity in user experience.

alt text

Meta

Efe Ertekin โ€“ @Instagram - @LinkedIn

Swift Version Platform

Other Devices

Splash Screen Product Listing Product Listing
iPhone SE iPhone SE iPhone SE
Splash Screen Product Listing Product Listing
iPhone 8 Plus iPhone 8 Plus iPhone 8 Plus
Splash Screen Product Listing Product Listing
iPhone 15 Pro Max iPhone 15 Pro Max iPhone 15 Pro Max

getirliteapp's People

Contributors

gradbyte avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.