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)
- Create
android/key.properties
fromandroid/key.properties.example
and set your keystore values. - 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)
- Open
ios/Runner.xcworkspace
in Xcode. - Set your Team and a unique Bundle Identifier (e.g.,
com.alhaqds.deenhub
). - 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.