- Language: Swift 4.2
- Platform: iOS 12
- Editor: Xcode 10.1
Build a simple app with following user flows:
-
Screen 1 - User inputs full name and clicks on start
- If text is empty, show simple alert.
- Else show full name label and current time, followed by infinite scroll grid of images (loaded over the internet).
- Images can be obtained from imgur APIs [https//apidocs.imgur.com] or any other convenient source of large images.
-
Screen 2 - Gallery Screen
- Infinite scroll grid of images.
Following points to be considered:
- Current time must update at less than 1s frequency so we can see milliseconds
- Scroll bar should not be visible
- Scrolling should be smooth
- Limit memory usage, infinite scrolling should not crash the app
- Images should load fast
- Should work across different aspect ratios and the notch.
The focus is on the layout, making sure it adjusts across devices of various sizes and performance of the app. Write clean maintainable code following standard conventions.
Deliverables
- Modular and working code
- Build and run instructions
- Further enhancements/proposals
- Optional but preferred: Testflight or some other mechanism of delivering the application.
- Forward button disabled when no page to forward
- Option to remove bookmark
- Progress bar to show loading progress
- Persistence of bookmarks after quitting app