Flutter Crypto APP

Complete Flutter Application with Riverpod & Freezed + Dio for API REST.

Features

  • API REST (CryptoWatch)
  • Linear Graph View (Hour, Day, Week, etc)
  • OHLC Graph
  • Search
  • Light / Dark Theme
  • Multi Language
  • Exchange Selection
  • Favorite Pair

Stack

  • Flutter 2.2.0 (Null Safety)
  • Riverpod + Hooks
  • Freezed
  • Dio

Testing

  • Unit Testing (flutter_test)
  • Integration Testing (integration_test)
  • Mock Data (http_mock_adapter)
  • Github Actions (iOS & Android Integration Test)

Screenshots

Home Details Settings
1_dark 2_dark 4_dark
1_light 2_light

Setup project

Download project

git clone https://github.com/salvadordeveloper/flutter-crypto-app

Get flutter dependencies

flutter pub get

You need to create an account at https://cryptowat.ch/ to get a personal API KEY

Rename the env.example file to .env and put there you API KEY

API_KEY={CryptoWatch_KEY}

Run the app

flutter run

If you have any error with generated files try to run this

flutter pub run build_runner build --delete-conflicting-outputs

Testing

Unit Test

flutter test

Integration Test

flutter drive --driver=test_driver/integration_test.dart --target=integration_test/main_test.dart

Resources

Flutter Docs

Riverpod Docs

Cryptowatch Docs

GitHub

https://github.com/salvadordeveloper/flutter-crypto-app