An app that demonstrate a networking layer, it contains a list view to display of crypto coins from coingecko API and a detail view for each coin.
Highlights:
- Use MVVM architecture with SwiftUI.
- Introduce services and generic classes to handle the networking layer.
- Leverage caching to minimize network calls to the backend.
- Add custom error handling for API calls.
- Setup basic unit testing for
CoinsViewModel
.
Todos:
- Setup a CI pipline.
- Add more unit tests to increase the coverage.