A Flutter Clean Architecture Using GetX.
|-- lib
|-- main.dart
|-- app
|-- core
|-- usecases
|-- config
|-- app_constants.dart
|-- app_colors.dart
| -- app_text_styles.dart
|-- services
|-- util
|-- types
|-- extensitons
|-- data
|-- models
|-- repositories
|-- providers
|-- database
|-- network
|-- apis
|-- api_endpoints.dart
|-- api_provider.dart
|-- api_representable.dart
|-- domain
|-- entities
|-- repositories
|-- usecases
|-- presentation
|-- controllers
|-- pages
|-- views
|-- app.dart
- Integrating Unit Test.
- Create an easy to use API provider with GetConnect.
-
firebase 추가 : (https://firebase.google.com/docs/flutter/setup?platform=android)
- firebase login
- dart pub global activate flutterfire_cli
- flutter pub add firebase_core firebase_auth cloud_firestore firebase_storage firebase_crashlytics firebase_remote_config
- flutterfire configure await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, );
- // Pass all uncaught errors from the framework to Crashlytics. if (!kIsWeb) { FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterFatalError; }
-
기본 라이브러리 추가
- flutter pub add
- get loggy pref easy_localization cached_network_image package_info_plus
- provider google_sign_in easy_sidemenu flutter_svg bottom_navy_bar
- flutter pub -dev add build_runner json_serializable
- flutter pub add
-
UI / Data 구성
- firebase_messaging + flutter_local_notifications 코드 추가
- flutter pub add firebase_messaging flutter_local_notifications
- https://firebase.google.com/docs/cloud-messaging/flutter/client?hl=ko
- flutter pub add google_api_availability
- https://pub.dev/packages/flutter_local_notifications
- get dependency
- flutter pub get
- flutter pub run build_runner build --delete-conflicting-outputs
- flutter run
- flutter build apk
- flutter build appbundle --release
- flutter build ipa --export-options-plist=ios/exportOptions.plist
- flutter build web --web-renderer html
- flutter run -d chrome --web-renderer html
- flutter run -d chrome --web-browser-flag "--disable-web-security"
dev_dependencies: change_app_package_name: ^1.1.0
- flutter pub run change_app_package_name:main com.returncode.fitness
keytool -exportcert -alias upload -keystore /Users/yongjun.choi/upload-keystore.jks -storepass upload0806 -keypass upload0806 | openssl sha1 -binary | openssl base64
xcrun simctl list open -a Simulator --args -CurrentDeviceUDID 2C041A2E-E4B0-458C-802D-C64612585529
flutter build ipa --export-options-plist=ios/exportOptions.plist
flutter_native_splash: ^2.3.1 flutter pub run flutter_native_splash:create
flutter_launcher_icons: ^0.13.1 flutter pub run flutter_launcher_icons