Skip to content

Latest commit

 

History

History
105 lines (70 loc) · 4.67 KB

README.md

File metadata and controls

105 lines (70 loc) · 4.67 KB

Codemagic build status

Overview

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.

App Preview

How to run

Note: the assets were replaced by placeholders, so the version you will run locally is different in look than the version in stores.

1. Firebase Setup

It's important to put your own Firebase service file in order to run the app, as it uses Remote Config and Firebase Messaging.

  1. Create a new Firebase project.
  2. 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
  3. Go to Remote Config page.
  4. Add a new parameter with name noorThker, with any value of your choice.
  5. Go to Cloud Messaging page, and enable it for your project.
  6. 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, specifically lib/firebase_options.dart, android/app/google-services.json, and ios/Runner/GoogleService-Info.plist.

So make sure to follow the link in step 2 if you haven't already.

2. (optional) FVM Setup

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.

3. Run

  1. Clone the project:
git clone https://github.com/pr-Mais/noor.git
  1. Get packages:
flutter pub get
  1. (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
  1. Run:
flutter run

Want to contribute?

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 [email protected]

Credits

Shout out to the amazing designer Shaikha Alqahtani.
The iOS version from Noor was made with native Swift by Maryam Aljamea.