/crypdo

A demo flutter crypto trade app

Primary LanguageDart

Crypdo FlutterπŸ’™ Demo App

A demo flutter app for cryptocurrency trading, wallet balance,send cryptro to contacts and ...

Screen records ⏺

r1 ,r2

Tools πŸ”§

  • Flutter - For asynchronous and more..
  • Dart - Flutter is an open source framework by Google for building beautiful, natively compiled, multi-platform applications from a single codebase.
  • Bloc - A predictable state management library for Dart. normally or with an exception.
  • GetIt - A simple Service Locator for Dart and Flutter projects
  • Dartz - Functional programming library in Dart
  • Dio - A powerful Http client for Dart, which supports Interceptors, Global configuration, FormData, Request Cancellation, File downloading, Timeout etc.
  • Retrofit - A type conversion dio client generator using source generator

Architecture πŸ“

the architecture is featuers modular architecture that every single features is on on package itself with dependencies just to common base classes and utils


Project Structure πŸ“‚

β”œβ”€β”€ common
|   └── base
β”‚   β”‚    β”œβ”€β”€ BaseScreen.dart
β”‚   β”‚    β”œβ”€β”€ BaseBloc.dart
β”‚   β”‚    β”œβ”€β”€ BaseStatus.dart
β”‚   β”‚    β”œβ”€β”€ BaseEvent.dart
β”‚   β”‚    └── BaseRepository.dart
|   └── di
|   |     β”œβ”€β”€ networkServiceLocator.dart
β”‚   |     └── preferenceServiceLocator.dart
β”‚   β”‚
|   └── exceptions
|   |     β”œβ”€β”€ networkServiceLocator.dart
β”‚   |     └── preferenceServiceLocator.dart
β”‚   β”‚
|   └── exceptions
β”‚   |     └── failure.dart
β”‚   β”‚
|   └── utils
|     β”œβ”€β”€ authentication.dart
|     └── mockNetwork.dart
 

TODO πŸ—’οΈ

  • move feature modules from package to separate module
  • add unit test for bloc layer