/todo-app

Example project to illustrate anxeb flutter mobile

Primary LanguageDart

To-do

Platform Build Status

A simple to-do application..

Overview

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.

Prerequisites

Make sure you have installed all following prerequisites:

Install

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

Run Tests

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

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.

Useful Commands

  • 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