A multi-venue trading terminal built with Flutter. YouTrade aggregates public market data from major crypto exchanges into a single, cross-platform interface for screener, portfolio, options, and trading workflows.
Public REST and WebSocket market data is supported for:
- Binance
- Bybit
- OKX
- Coinbase
All exchange integrations use public endpoints only; no API keys or trading secrets are required to run the app.
- iOS
- Android
- macOS
- Linux
- Windows
- Web
The project follows a layered, SOLID architecture:
- Domain: entities, source contracts, repository interfaces, registry, and use cases.
- Data: repository implementations, remote REST/WebSocket clients, local Drift cache, and mock fallback store.
- Presentation: Riverpod providers, auth guards, routing, and theme settings.
- UI: screens and widgets driven by presentation state.
- Flutter SDK
- Android SDK and JDK for Android development
- Xcode and a booted iOS Simulator for iOS development
ghCLI for GitHub operations (optional)pre-commitfor running pre-commit hooks (optional; install withpip install pre-commit)
flutter test
flutter analyze
dart format --set-exit-if-changed lib test integration_test toolxcrun simctl boot <UDID>
flutter run -d <UDID>flutter test integration_test -d <UDID>dart run tool/smoke_test_venues.dartThis hits real OKX and Coinbase public endpoints and should be run manually only (it is not part of CI).
This repository includes .pre-commit-config.yaml. Install the hooks with:
pre-commit installThe hooks run dart format, flutter analyze, and flutter test on Dart files before each commit.
flutter_secure_storagedoes not yet support Swift Package Manager; this will become a hard error in a future Flutter release.local_authuses deprecated application lifecycle events on iOS and will require a plugin update.