-
Notifications
You must be signed in to change notification settings - Fork 31
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: 🚀 upgrade SDK, deps, and fix any deprecations in the way + FVM (#…
…18) * add fvm * upgrade all deps to latest possible, and do any required changes - path_provider, shared_preferences, url_launcher doesn't support iOS 11 anymore - freezed was left at 2.5.2 instead of 2.5.3 because of analyzer version issues * fix almost all deprecations and things that got removed * disable impeller on android * setup firebase with flutterfire, and run it on iOS * disable m3 * fix android not working and follow docs of flutter_local_notifications for both iOS and Android * remove a launch.json in android folder related to dart :D * migrate to the declarative way of gradle plugin https://docs.flutter.dev/release/breaking-changes/flutter-gradle-plugin-apply * make android work after recreating the folder!!! * remove PopScope, it doesn't work as expected and not needed
- Loading branch information
1 parent
596b83d
commit e693246
Showing
61 changed files
with
772 additions
and
622 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"flutter": "3.22.1" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,7 @@ | ||
{ | ||
"dart.lineLength": 80, | ||
"editor.formatOnPaste": true, | ||
"editor.formatOnSave": true, | ||
"editor.formatOnType": true, | ||
} | ||
"dart.lineLength": 80, | ||
"editor.formatOnPaste": true, | ||
"editor.formatOnSave": true, | ||
"editor.formatOnType": true, | ||
"dart.flutterSdkPath": ".fvm/versions/3.22.1" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -26,18 +26,42 @@ This project contains the codebase for the Android version that is on Play Store | |
|
||
## 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.* | ||
_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](https://console.firebase.google.com/). | ||
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. | ||
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](https://github.com/Maryom/Noor_RemoteConfig). | ||
|
||
### 2. Run | ||
> **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/](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: | ||
|
||
|
@@ -51,7 +75,18 @@ git clone https://github.com/pr-Mais/noor.git | |
flutter pub get | ||
``` | ||
|
||
4. Run: | ||
3. (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 | ||
|
||
```diff | ||
- // signingConfig signingConfigs.debug | ||
- signingConfig signingConfigs.release | ||
+ signingConfig signingConfigs.debug | ||
+ // signingConfig signingConfigs.release | ||
``` | ||
|
||
1. Run: | ||
|
||
```bash | ||
flutter run | ||
|
@@ -65,6 +100,6 @@ If you encounter any bug while using the apps in store, or running it locally, p | |
For features request, contact us on [[email protected]](mailto:[email protected]?subject=%D8%A7%D9%82%D8%AA%D8%B1%D8%A7%D8%AD&body=%D8%A7%D9%84%D8%B3%D9%84%D8%A7%D9%85%20%D8%B9%D9%84%D9%8A%D9%83%D9%85%D8%8C) | ||
|
||
## Credits | ||
|
||
Shout out to the amazing designer [Shaikha Alqahtani](https://twitter.com/Ishaiookh). | ||
<br/> The iOS version from Noor was made with native Swift by [Maryam Aljamea](https://twitter.com/0_1Mary). | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,7 @@ | ||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" | ||
package="com.noor.sa"> | ||
<!-- Flutter needs it to communicate with the running application | ||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"> | ||
<!-- The INTERNET permission is required for development. Specifically, | ||
the Flutter tool needs it to communicate with the running application | ||
to allow setting breakpoints, to provide hot reload, etc. | ||
--> | ||
<uses-permission android:name="android.permission.INTERNET"/> | ||
<uses-permission android:name="android.permission.VIBRATE"/> | ||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> | ||
</manifest> |
Oops, something went wrong.