- The requirement is to create an MVVM app project consuming the Github public API https://api.github.com/users where it has the ability to list all the Github users. - In first page,login screen, with fields for a nickname, password, and a login button. Simply add a delay of a few seconds to simulate the login process, then transition to the main screen as root. - In second page, list all the Github users displaying their username and the github profile url below. Once the user clicks a username, he should be able to redirected to detailed page to display the avatar, username and the github profile url (html_url). - When a user clicks a github profile url it will open external browser to load the url.
- Reuse example of arhitecture in this repo https://github.com/vlaskos/SwiftUI-Test-MVVM-Architecture/tree/main/MVVM.Demo.SwiftUI
- Main goal to develop app based on MVVM pattern with Combine, SwiftUI, URLSessions.
- Feel free to modify router, dependency modules.
- Follow Swift coding style and convention
- Write a networking layer with async/await
- Added paginations of 10 users per page
- Support minimum deployment version - iOS 16.0.
Source architecture https://github.com/jasonjrr/MVVM.Demo.SwiftUI/tree/master