Noor is an islamic mobile app, consists of four main pages: home, favorite, alsabha, and settings. The data is structured in Cards that are easy to read, and has some actions that can be performed with the card content. Noor is designed to help in providing a comfortable reading experience for Muslims, by referencing the book "Hisnul Muslim", and some other references.
This project contains the codebase for the Android version that is on Play Store, it can run on iOS as well. Built with Flutter, and Firebase.
Note: the assets were replaced by placeholders, so the version you will run locally is different in look than the version in stores.
It's important to put your own Firebase service file in order to run the app, as it uses Remote Config and Firebase Messaging.
- Create a new Firebase project.
- Add a new Android or iOS app, depending on which device you want to use, and follow the configuration steps to connect Noor to your Firebase project. This could help: https://firebase.google.com/docs/flutter/setup
- Go to Remote Config page.
- Add a new parameter with name
noorThker
, with any value of your choice. - Go to Cloud Messaging page, and enable it for your project.
- To setup the cloud function that trigger a notification each time the Remote Config variable changes on the console, find the code in this repo.
NOTE: You can't really run the app without it, so make sure to set it up.
The app needs some files generated the
flutterfire_cli
, specificallylib/firebase_options.dart
,android/app/google-services.json
, andios/Runner/GoogleService-Info.plist
.So make sure to follow the link in step 2 if you haven't already.
FVM is used to make sure everyone working on the project uses the same version. It is also easier to maintain since the .fvmrc
file has the config you need to get started quickly.
It also makes it easy for Noor to stay on an older version without needing to do lots of upgrades and downgrades, since developers usually work on projects with different versions.
FVM website: https://fvm.app/
Once FVM is installed, run the following command to get things ready:
fvm use 3.22.1
Be sure to check
.fvmrc
for the correct version this project uses, in case the version above is old.
- Clone the project:
git clone https://github.com/pr-Mais/noor.git
- Get packages:
flutter pub get
- (for android only) Edit the
android/app/build.gradle
:
This will allow you to sign the app with the debug keystore, no need to make a keystore just for development :D
- // signingConfig signingConfigs.debug
- signingConfig signingConfigs.release
+ signingConfig signingConfigs.debug
+ // signingConfig signingConfigs.release
- Run:
flutter run
If you encounter any bug while using the apps in store, or running it locally, please file an issue.
Contribution for enhancments are also welcome! just create a PR, and describe precisly what is your contribution.
For features request, contact us on noorathkarapplication@gmail.com
Shout out to the amazing designer Shaikha Alqahtani.
The iOS version from Noor was made with native Swift by Maryam Aljamea.