- Android Paging Library
- Network library: Ktor
- Dependency injection: Koin
- Image loading library: Coil
- Infinite scrolling grid of photos from Unsplash
- Fullscreen detail view with metadata
- Swipe navigation between photos in detail view
- Preserves scroll position when returning to grid view
- Dark mode support
- Offline caching of photos using Room database
- Share photo link
- Unit tests (APIService, Repository, Viewmodel, and Room)
-
Grid View
- Paginated, infinite-scrolling grid of photos
- Preserves each image’s aspect ratio (no cropping)
- Supports both portrait & landscape orientations
-
Detail View
- Tap any grid item to open fullscreen detail
- Displays photo, author name, description/alt text, like count, etc.
- Swipe left/right to navigate between photos
- On dismiss, grid scroll position retains the last-viewed photo