Sample cryptocurrency tracking app that demonstrates clean architecture, generic caching, lazy loading, debouncing, throttling, and adaptive theming.
- List Top Cryptocurrencies: The app displays a list of the top cryptocurrencies in the market. The list is loaded lazily to optimize performance and reduce initial loading times. Additionally, throttling is implemented to minimize consecutive API calls.
- View Details: View detailed information about each cryptocurrency.
- Favorite Tracking: Track favorite cryptocurrencies and store them locally using HiveDB.
- Search: Search for specific cryptocurrencies. Debouncing technique is used to prevent unnecessary API calls.
- Adaptive Theme: The app automatically adjusts its theme based on the device's settings. It also remembers the user's theme preference.
Preview | Market | Favorites | Details |
Search | Onboarding1 | Onboarding2 | Onboarding3 |
- State Management
- Caching
- Networking
- Routing
- Dependency Injection
- Dart Data Class Generation
- Localization
- Functional Programming
- Testing
git clone https://github.com/cem256/cryptocurrency_tracker
cd cryptocurrency_tracker
flutter pub get
sh scripst/build_runner.sh
sh scripts/localization.sh