diff --git a/.gitignore b/.gitignore index f07e356d..65fb22b0 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,8 @@ fastlane/screenshots/**/*.png fastlane/screenshots/screenshots.html screenshots +screenshots + # scan temporary files fastlane/test_output diff --git a/README.md b/README.md new file mode 100644 index 00000000..99813660 --- /dev/null +++ b/README.md @@ -0,0 +1,55 @@ +# GME Remit +GME Remit iOS 아키텍쳐는 VIPER 를 기반으로 한다. + +1. **Original VIPER** +2. **VIPER + ViewModel (RxSwift)** +3. **VIPER + RxPresenter (RxSwift)** + +*** + +## 1. Original VIPER +앱 개발 초기에 사용한 VIPER 아키텍쳐로 +각 모듈간 통신은 프로토콜을 사용한다. + +### 사용모듈 +* AppUpdate +* AutoDebitModules +* BiometricAuthModules +* ExchangeRates +* ForgotPassword +* GmeContacts +* Home +* LauncherScreen +* Login +* Main +* PopupNotification +* Profile +* RegisterModules +* RemittanceModules/OverseasModules +* RemittanceModules/TransactionHistoryModules +* RewardModules +* SideMenu +* SplashScreen +* WalletStatement + +## 2. VIPER + ViewModel (RxSwift) +RxSwift를 사용하기위해 ViewModel을 추가한 VIPER의 확장이다. + +사용자 인터렉션의 처리는 ViewModel이 하며, ViewModel과 Presenter가 연결되어있으며 나머지는 프로토콜을 사용한다. + +### 사용모듈 +* RecipientModules +* RemittanceModules/DomesticModules +* RemittanceModules/TransactionHistoryModules/TransactionHistoryGroup + +## 3. VIPER + RxPresenter (RxSwift) + +2번의 VIPER + ViewModel (RxSwift) 아키텍쳐를 사용하다 ViewModel의 존재로 링크 코드가 증가하는 현상으로 인해 ViewModel을 Presenter로 변환한 개선된 아키텍쳐이다. + +View와 Presenter 간의 통신은 RxSwift로 진행되며, 나머지는 프로토콜을 사용한다. +### 사용 모듈 +* RecipientModules +* RemittanceModules/DomesticModules +* RemittanceModules/TransactionHistoryModules/TransactionHistoryGroup + +## 4. 점차적으로 3번의 아키텍쳐로 변환할 예정. \ No newline at end of file