Skip to content

digitalpalidictionary/dpd-flutter-app

Repository files navigation

DPD Flutter App

Offline Flutter app for the Digital Pali Dictionary. It is Android-first and currently in beta.

This project uses Kamma for spec-driven work. Project context, specs, plans, and reviews live in kamma/.

Install The Beta App

The public beta is for Android.

The app is still beta software. Installation uses a direct APK download rather than the Play Store. On first launch, the app downloads the dictionary database.

For Developers

If you want to work on the app locally, it helps to have:

  • Flutter stable
  • Android SDK and adb if you want to test on Android
  • just

Typical local setup:

flutter pub get
dart run build_runner build --delete-conflicting-outputs
flutter run

Relevant Flutter And Dart Commands

flutter pub get
dart run build_runner build --delete-conflicting-outputs
flutter run
flutter analyze
flutter test

Relevant Just Recipes

just run                # generate the changelog asset and run the app; normal local development entry point
just analyze            # run static analysis; use this to catch lint and type issues quickly
just test               # run the test suite; use this for automated verification
just android-debug-build            # build a debug APK only
just android-debug-install          # build/install debug APK, push local DB from ../dpd-db, launch app
just android-debug-install-no-db    # install debug APK with cleared app data and no DB; test first-run download flow
just android-debug-update           # rebuild and reinstall debug APK without replacing the on-device DB
just android-debug-push-db          # push local DB from ../dpd-db and restart app; use when only the DB changed
just android-debug-delete-db        # delete the on-device DB and restart app; use to force a re-download
just android-release-build          # build a release APK only
just android-release-install        # build/install release APK, push local DB from ../dpd-db, launch app
just android-release-install-no-db  # install release APK with cleared app data and no DB; real first-run experience
just build-db           # rebuild the packaged mobile DB in ../dpd-db; only for local DB export work
just linux-run          # build and run the Linux app
just linux-push-db      # copy local DB from ../dpd-db into the Linux app location used for local testing

License

App source codeMIT License

DPD databaseCC BY-NC-SA 4.0 — the dictionary database is a separate work; see https://digitalpalidictionary.github.io/license/