Alhaq Initiative logo Alhaq Initiative

DeenHub Mobile App

Islamic productivity and spiritual growth app.

Workflows

  • Get started: run flutter pub get then launch on a device/emulator.
  • Analyze: run the VS Code task “Analyze after Quran removal” or flutter analyze.
  • Tests: flutter test.

Production build

Android (Play Store)

  1. Create android/key.properties from android/key.properties.example and set your keystore values.
  2. Build a release APK/AAB:
flutter build appbundle --release
# or
flutter build apk --release

Notes:

  • We enabled code shrinking (R8) and resource shrinking; proguard rules live at android/app/proguard-rules.pro.
  • If key.properties is missing, the release build will fall back to the debug signing config for local runs only.

iOS (App Store)

  1. Open ios/Runner.xcworkspace in Xcode.
  2. Set your Team and a unique Bundle Identifier (e.g., com.alhaqds.deenhub).
  3. Archive (Product → Archive) and distribute for TestFlight/App Store.

Notes:

  • Info.plist includes privacy usage strings for location and notifications.
  • Minimum iOS version is 12.0.

Regenerating Hisnul Muslim assets (optional)

We vendor the Hisnul Muslim dataset under assets/hisnulmuslim/. To regenerate from the public dataset at M-AI-C/hisnulmuslim on Hugging Face, run the generator script (requires internet):

dart run bin/generate_hisnulmuslim.dart

This writes two JSON files used by AdhkaarService:

  • assets/hisnulmuslim/hisnulmuslim.json (Arabic text and references)
  • assets/hisnulmuslim/hisnulmuslim-en.json (English translations)

Then rebuild the app so Flutter picks up the updated assets.

Architecture and conventions: see .github/copilot-instructions.md in the app repository.