GHFollowers is an iOS app that allows the user to search for github users.
- Combine framework is used for binding between view and viewmodel.
- Navigation is handled by using Coordinators
This Project only has the UI and business logic for this project. The network API calls and models are managed in a different apple framework project - FeedEngine. This approach is the primary step in app modularisation which helps for the separation of responsibilities. The advantages of this approach are
- Its easy to make a separate iPad app /tvOS app / watchOS app / macOS app since this framework can be integrated and many functions and business logic becomes readily available to use.
- Ease to add new features and maintainability
- Serparation of responsibilities
- Seach for user, see list of users and user info screen
- Adds pagination for loading user or follower list
- Makes use of new APIs like UICollectionViewDiffableDataSource, Result type
- Integrated UI tests
- Integrated Unit tests
- Code coverage of 89.7
- Supports dark mode
- Uses Swiftlint
- Continous Integration implemented using Travis, Github Actions
The project comes ready to test. Clone and run on your machine. No additional steps required.
git clone https://github.com/abin0992/GHFollowers.git
GHFollowers do not have any 3rd party dependencies! The only dependency is our internal framework - FeedEngine. Its integrated through Swift Package Manager.
- Write MORE Tests
MIT