Wonder Tinder App
- Target IOS 13
- No use Xib/Storyboard
- Support Iphone landscape/portrait
- Use MVVM pattern
- Use Modular architecture
- Write Unit Test
-
WonderModel: Package with API Model and Realm singleton.
- Codable Model.
- Pesisted Model.
- Real read/save/delete database object.
-
WonderNetwork: Package with Endpoint and Network singleton.
- Endpoint.
- Get characters.
-
WonderResources: Package with app resources.
- Resources Colors/Font/Local Image.
- Manager Colors/Font/Local Image.
-
WonderUI: Package with app UI.
- Base ViewController/View/Viewmodel protocol.
- Home view.
- Summary view.
-
WonderNavigator: Package with app Navigator.
- Base Navigator protocol.
- App Navigator.
-
Alamofire: Alamofire is an HTTP networking library written in Swift.
- Swift Concurrency Support Back to iOS 13, macOS 10.15, tvOS 13, and watchOS 6. - URL / JSON Parameter Encoding. - HTTP Response Validation. - Download File using Request or Resume Data
-
Kingfisher: for downloading and caching images.
- Asynchronous image downloading and caching. - Loading image from either URLSession-based networking. - Cancelable downloading and auto-reusing previous downloaded content to improve performance. - Customizable placeholder while loading images.
-
Pinlayout: "No Auto layout constraints attached".
- Manual layouting (doesn't rely on auto layout). - Full control: You're in the middle of the layout process, no magic black box. - Layout one view at a time. Make it simple to code and debug. - Concise syntax. Layout most views using a single line.
-
Realm: Realm is a mobile database that runs directly inside phones, tablets or wearables.
- Realm’s object-oriented data model is simple to learn, doesn’t need an ORM, and lets you write less code. - Realm’s local database persists data on-disk, so apps work as well offline as they do online. - Realm is fully-featured, lightweight, and efficiently uses memory, disk space, and battery life.