A modern iOS application that allows users to browse and search GitHub repositories with a focus on Swift and iOS development resources.
- Browse Repositories: View trending repositories in different categories:
- Swift
- iOS
- Algorithm
- iOS Interview
- Search: Find repositories by keyword with real-time results
- Sort Options: Organize repositories by stars or forks (ascending/descending)
- Detailed Views: Explore repository and owner details with a clean, intuitive interface
- Modern UI: Built with SwiftUI featuring smooth animations and loading states
Here's a quick look at the app in action:
Curious about the latest in Swift Testing? Dive deep into modern testing strategies with Xcode 16.
🧪 Swift Testing — A Modern Testing Framework in Xcode 16
✍️ Explore Swift Testing, new features, best practices, and how to integrate it into your iOS projects effectively.
- iOS 16.0+
- Xcode 16.0+
- Swift 5.9+
-
Clone the repository
git clone https://github.com/yourusername/GithubExplorerTest.git
-
Open the project in Xcode
cd GithubExplorerTest open GithubExplorerTest.xcodeproj
-
Build and run the application on your device or simulator
This project follows the MVVM (Model-View-ViewModel) architectural pattern:
- Models: Data structures like Repository and Owner
- Views: SwiftUI views (GithubHomeView, RepositoryDetailView, OwnerDetailView)
- ViewModels: Business logic components (GithubHomeViewModel, RepositoryDetailViewModel, OwnerDetailViewModel)
The project includes both XCTest and Swift Testing Framework examples to demonstrate different testing approaches:
- Unit tests for ViewModels
- API service mocking
- UI testing examples
Run tests using Xcode's Test Navigator or via command line:
xcodebuild test -project GithubExplorerTest.xcodeproj -scheme GithubExplorerTest -destination 'platform=iOS Simulator,name=iPhone 16'
The application uses the GitHub REST API to fetch repository data:
- Search repositories
- Get repository details
- Fetch owner information