/ZarinPal-Challenge

ZarinPal Mobile Test Challenge Code. GitHub with GraphQL and SOLID Principles.

Primary LanguageSwiftMIT LicenseMIT

ZarinPal-Challenge

ZarinPal-Challenge is a Swift and SwiftUI client App for represent User GitHub Repository using GitHub GraphQL API and Authentication API. Application contains the three layers which are the DataLayer, Domain Layer or Repository Layer and 'Presentation Layer`.

Requirements

  • Xcode 11.2 or laster.
  • Swift 5.1 or later.
  • iOS 13 or later.

Installation

  • Step 1: Download or clone the project github repository

      $ git clone https://github.com/farshadmb/ZarinPal-Challenge.git
  • Step 2: Install Cocoapods via gem install cocoapods --user-install

    then run $ pods install command.

  • Step 3: Open ZarinPan-Challenge.xcworspace

  • Step 4: Run and enjoy the app.

Technology use in this project

  • SwiftUI
  • Combine
  • RxSwift
  • Clean Code
  • Clean Arch
  • Modern MVVM

- Gitwokflow

#1 PR Presentation Layer into Develop

#2 PR Data Layer into Develop

#3 PR Domain or Repository Layer into Develop

#4 PR ViewModel Layer

#5 PR Develop to Master