A simple to-do application..
In To do, we use:
- Git as version control.
- Flutter to build and test the mobile application.
- Anxeb as Flutter wrapper framework.
- To-Do API to fetch data from the To-do backend.
- Github Actions to build and publish the project.
Make sure you have installed all following prerequisites:
- Git
- Flutter
- Dart
- Android SDK
- Xcode (iOS dev only)
Clone Anxeb and To-do repositories. Make sure they are both in the same directory level.
Install project dependencies.
git clone https://github.com/nodrix/anxeb-flutter.git
git clone https://github.com/0aps/todo-app.git
cd todo-app
flutter pub get
Execute the following on the project root:
flutter test
To run integration tests, execute:
flutter drive \
--driver=integration_test/driver.dart \
--target=integration_test/app_test.dart \
-d device-id
Code style and conventions use all flutter analyze
default rules.
A few other rules were added in analysis_options.yaml
.
Please see here for all options.
-
Launch Icons
flutter pub run flutter_launcher_icons
flutter pub run flutter_native_splash:create
-
Open XCode
flutter pub get
open ios/Runner.xcworkspace
-
Execute Release
flutter run --release -d device-id
-
Execute Profile
flutter run --profile -d device-id
-
Build Bundle
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
flutter build appbundle
bundletool build-apks --bundle=build/app/outputs/bundle/release/app-release.aab --output=bundle/todo.apks --ks=/path/to/key.jks --ks-pass=pass:ksPass --ks-key-alias=key --key-pass=pass:keyPass
-
Build APK
flutter build apk --target-platform android-arm,android-arm64,android-x64 --split-per-abi
flutter build apk --release --no-shrink --no-tree-shake-icons
flutter build apk --verbose
-
Build for Production (Android)
flutter build appbundle --obfuscate --split-debug-info=symbols
-
Build for Production - iOS
flutter build ios