This project is an iOS application named GHFollowers
that allows users to search GitHub profiles and view their followers. It also offers the functionality to add users to a favorites list for quick access. The application is built programmatically without Storyboards, using UIKit
and Auto Layout
to create a responsive and dynamic user interface.
Key Features:
- GitHub User Search: Allows users to input a GitHub username and search for it.
- Follower List Display: Shows a list of a GitHub user's followers.
- Pagination: Loads more followers as the user scrolls down the list.
- Detailed User Information: Tapping on a follower displays detailed information about that user, including:
- Avatar image.
- Username and real name (if available).
- Location (if available).
- Bio (if available).
- Number of public repositories, public gists, followers, and following.
- GitHub account creation date.
- Safari Integration: Allows opening a user's GitHub profile in Safari.
- Favorites List: Users can add or remove users from a locally persisted favorites list.
- Custom Alerts: Uses a custom
UIAlertController
to display error messages and user feedback. - Empty States: Displays a friendly message when there are no followers to show or the favorites list is empty.
- Image Caching: Utilizes
NSCache
to cache avatar images, improving performance. - Programmatic UI: The entire user interface is built programmatically using
Auto Layout
.
Here are some screenshots of the application in action:
Search Screen | Followers List | User Info | Favorites List |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |