Project built with Flutter 3.0.4 for iOS and Android
- Gallery screen, in a grid view, with image cache and loading error handling.
- Gallery screen has infinite loading.
- Single photo screen, with image cache and loading error handling.
- Single tap turns photo screen into a full screen.
- Pinch gestures zoom in and out photo. Pan moves the photo.
- Save to gallery and sharing photo features.
- API from Picsum implemented using Retrofit.
- Photo model parsed using JsonSerializable.
- MVVM architecture implemented using Provider.
- Separate router and theme classes.
- Unit testing of ViewModel mocking api requests.