Environment Setup
- Required PHP version 8.1
- Enable this on your server before proceeding in PHP openssl, pdo, mbstring, tokenizer, JSON, CURL.
- In Apache enable "mod_write" for guidance follow this click here
- In Config enable "allow_url_fopen" for guidance follow this click here
Points to Remember
- Please be prepared with database name, database username name and database password.
- Create and set up an Onesignal account and update keys in admin settings.
- Create and set up email settings so your email can work.
- Setup a deep link setting so that your notifications will work properly.
- Translation using Chat GPT or Google Translation will work only after adding a keys make sure you have keys.
- Setup a deep link setting so that your notifications will work properly.
- Social media login for front end update keys in admin settings.
- Admob will work only when keys are added in admin settings.
- For facebook ads working have to add keys in admin settings.
- To approve comments automatically enable setting in the Global settings tab.
- Upload the downloaded laravel code file from codecanyon.
Installation
- Login to your panel and search for "File Manager" and open it.
- Go to “public_html” and then click on “Upload” then upload the provided zip file on the server when the file is uploaded and extract that zip file there.
- Once previous steps are done open the domain URL in a new tab.
- On opening the site, you will get the setup wizard. Click "Check Requirements"
- On the Permission, click next step which is "Check Permissions"
- Click on "Form Wizard Setup".
- Fill your "App Name" which is a mandatory field this defines the name of your project.
For "App URL" just copy the URL of your domain and paste it here.
Database Configuration
- For the next step, configure the "database settings" on your CPanel. Follow the steps in my CPanel: Go to "MySQL Manager".
- Click on “Add Database”.
- Next,"add credentials" and "create a new user" for your database.
- Then provide all privileges and save these credentials.
Application Setup
- After creating the database credentials, use them in the next step. Put the credentials in the respective fields and click on 'Setup Application'.
- Click on 'Install'
- When the popup appears with 'Installation success' at the top, click on 'Click here to exit.' You will be redirected to the next step.
- In this step, enter the 'purchase code' received from CodeCanyon license. Put your purchase code and click on 'Verify'.
- When the verification is successfully done, you will be redirected to this page.
From here, please copy and save the admin credentials so you can log in during the next step. - Enter the email and password of the admin that you saved from the previous step.
- Once you have successfully logged in, everything is set up, and you are good to go. Congratulations! 🎉🥳
Update Process
Effortlessly keep your website up-to-date with our seamless automatic update process. Simply access the 'Update Website' option, click the 'Update Website' button, and your site will be refreshed with the latest enhancements and database changes. Stay current effortlessly!"
Automatic
- In the 'Automatic Update' process, when we push any updates to our system, this menu in the sidebar displays the count.
- Navigate to the 'Update Website' option, where you'll find the 'Update Site' button. Clicking on this button will update your site with our latest changes, including any database updates.
- After your site is updated, the sidebar and page will appear as shown in the screenshot below, with the count in the sidebar disappearing and the 'Update Website' button no longer visible.
Manual
If the automatic update process did not work or you have an old code version, follow these steps to manually update your code:
- Download the 'update.zip' provided for the code update and extract the contents.
- Copy and paste the folders from the extracted files into the root folder of your code.
- Additionally, we will provide a file with queries. Copy the queries, go to 'MySQL', and open your database. Once your database is open, you will see all your tables. Click on the 'SQL option'.
- When the SQL option opens, paste all of your queries and click 'Go' to execute them. Your website is now updated with our latest changes. You're good to go!
- From the Sidebar, Open "Settings" section and then Click on "Translation Settings".
- Access Advanced Options
- Access Cron Job Tab
- Configure Cron Job
- Choose the PHP option as the command type.
- Enter your domain URL in the Command field.
- Append the following command to the end of the URL :
artisan schedule:run - The complete command should look like this :
https://yourdomain.com/artisan schedule:run - Set Scheduler Run Time
- Every minute
- Every hour
- Every day
- Every weekday
- Every week
- Open Terminal
- To make sure your configurations are all set to run this project
- To make sure you are running the mentioned version given in the documentation
- Navigate to "lib/urls/url.dart"and change values for "baseUrl = "https://your.server-url.com/api/" and "baseServer = "https://your.server-url.com/" as per your server domain.
- Click on appicon.co to generate icons
- After generating files, you can find these files :
Open your project, and go to 'android/app/src/main/res/' file inside your project
- Replace below folders :
- mipmap-hdpi
- mipmap-mdpi
- mipmap-xhdpi
- mipmap-xxhdpi
- mipmap-xxxhdpi
- Assets.xcassets
- appicon.png (512 × 512)
- com_logo.png (600 × 600)
- logo.png (408 × 115)
- Open your project, and go to android/app/src/main/res/ file inside your project
- Replace below folders :
- To generate notification assets click given link : Generate Notification assets
- android/app/src/main/res/drawable-mdpi/ic_stat_onesignal_default.png
- android/app/src/main/res/drawable-hdpi/ic_stat_onesignal_default.png
- android/app/src/main/res/drawable-xhdpi/ic_stat_onesignal_default.png
- android/app/src/main/res/drawable-xxhdpi/ic_stat_onesignal_default.png
- android/app/src/main/res/drawable-xxxhdpi/ic_onesignal_large_icon_default.png
- Place this app icon with name "notification_icon" at "android/app/src/main/res/drawable/notification_icon.png"
- In your project directory, go to "android/src/main/res/androidmanifest.xml".
Find android:label="Incite" and replace Incite" to "{App-Name}" - Under Incite Project, Go to "android > app > build.gradle"
- Under Incite Project, Go to "android > app > src > main > Kotlin > MainActivity.kt"
- Delete the
key.jks
given in the project given atandroid/app/key.jks
. It is just a dummy key for explanation. - Please remember to add
key.jks
file underandroid/app/key.jks
to avoid errors in the project setup. - With Play App Signing, Google manages and protects your app's signing key for you and uses it to sign optimized, distribution APKs that are generated from your app bundles. Play App Signing stores your app signing key on Google's secure infrastructure and offers upgrade options to increase security.
- Running the following at the command line: On macOS or Linux, use the following command:
keytool -genkey -v -keystore ~/key.jks -keyalg RSA \ -keysize 2048 -validity 10000 -alias uploadFor more info : https://docs.flutter.dev/deployment/android#signing-the-appOn Windows :
- Open command prompt, at folder 'android/app' in your project directory.
keytool -genkey -v -keystore key.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias upload - Details to Fill When Creating key.jks
- Keystore Password: This is the password for the keystore file (
key.jks
). Make sure to choose a strong and secure password and remember it because you'll need it for future app updates and releases. - Alias Name: The alias is a name for the key within the keystore. You'll use this alias to refer to the key when signing your app. You can choose any name you like for the alias.
- Key Password: This is the password for the key itself. It can be different from the keystore password. Again, choose a strong and secure password.
- First and Last Name: Your first and last name or the name of the organization responsible for the app.
- Organizational Unit: The unit within the organization that is responsible for the app (e.g., Development Team).
- Organization: The name of the organization responsible for the app.
- City or Locality: The city or locality where the organization is located.
- State or Province: The state or province where the organization is located.
- Country Code: The two-letter country code according to ISO standards (e.g., US for United States, IN for India).
- After
Key.jks
file creation, Add'storePassword'
&keyPassword
in yourkey.properties
file under android folder of your project. - Change App Color
- App under Maintenance
- Add Live News & E-News on App Dashboard
- Enable ADS
- Change In-App Icon
- In your Project Directory, go to "android/src/main/res/Androidmanifest.xml".
Find & Changeandroid:schema="{custom-schema}" & android:host="{custom-host}"
- In Admin Settings, Change "Deep link Schema & Host for Android respectively".
- In your Play Console, go to "Deep link Tab".
Click on+ Add Domain
- Enter your associated Domain (host.example.com) which is linked to your app and then press "Enter"
Copy thedescription given below and create a file named "assetlink.json" at folder /.well-known at "File Manager" on your server. - Click on "Create Web Association" and it's done
- Create Firebase Project
- Go to >> Firebase console <<
- Create project (Step-1) : Add Project Name and click "Continue"
- Google Analytics for your Firebase project (Step-2) : click "Continue"
- Configure Account (Step-3) : Select an "Account" from drop-down click "Create Project"
- Once the project has been created, it will automatically redirect to Firebase dashboard screen. Add an app we have IOS an Android to consider in App.
- Add bundle Id (ex. com.demo.app) you added to your 'Incite' project
- Go to Authentication and open 'Sign-in method' Tab and enable 'Google Sign in' (Both Android & IOS) and "Apple" (IOS only)
- Download "google-services.json" file and add to your project directory under"android/app"
- Open 'Terminal' at your project directory. Run commands given below :
- cd android
- ./gradlew signingReport
- Scroll to top where you find highligted keys (SHA1 and SHA-256)
- Add Keys in your Firebase project under "Project Settings" at the bottom you will be able to "Add Fingerprint"
-
To enable "Google signin" for production
- Go to Google Play Console and Create an account
- On dashboard, go to "App Integrity" and copy both "SHA-1 certificate fingerprint" and "SHA-256 certificate fingerprint", follow step 12 given above.
- If you want to go with Onesignal then write :
static NotificationType notificationType = "NotificationType.onesignal;" - If you want to go with Firebase then write :
static NotificationType notificationType = "NotificationType.firebase;" - OneSignal
- Firebase
- Create an account on OneSignal
- Click on "Add App"
- Fill details in the screenshot given below and proceed :
- You need to uplaod "Service Accounnt json" file. Follow steps below :
- Open Project Settings, Click on "Service Accounts" tab
- Click on "generate pair key"
- Add Service Accounnt json
- Select "Flutter" and proceed
- Copy "App Id" and paste it to Admin settings under "Push notifications" Tab as per screenshot given below :
- OneSignal : >Go to Settings > Keys & IDs, Copy "REST api key"from OneSignal
paste it to Incite Admin : Settings > Push Notifications inside "One Signal key" - Go to
lib/main.dart
and replace theOneSignal App Id
given in the screenshot below : - Go to Firebase Console, Click on "Settings Icon" then open"Project Settings"then go to "Service Accounts tab". Copy and paste "Project Id" to your admin panel at All Settings > Push Notifications > FCM project ID.
- Go to Firebase Console, Click on "Settings Icon" then open "Project Settings" then go to "Service Accounts tab". Click on "Generate private key".
- You have collected both "project_id" and "firebase_credentials.json". Now fill the details in your admin panel at All Settings > Push Notifications. Enable "Firebase notification" to make it work in app. It's done!!!.
- From the Sidebar, Open "All Settings" section and then Click on "Is Android Force Update".
- Make sure to follow steps of Google SignIn
- In your project go under "android/app" you need to save the file with the mentioned name
- Under "android" you can find "key.properties" there you will find properties of "key.jks".
- Before generating an app bundle, if you want a test apk to run on your mobile.
- After Checking above run this command,
- Before going live, Please change signingConfigs.debug to signingConfigs.release
- Navigate to https://appleid.apple.com/sign-in and login to your apple account.
- In your Project folder, Open "ios" folder,
Double-Tap on "Runner.xcworkspace" to open "Xcode" - Click on "Team section", then Click +"Add an Account" and Login to your Apple account
- Setup provisioning profile on xcode
- Go to https://developer.apple.com/account/resources/profiles/list
- Click on "+"button,then Enter the UDID (Any Real UDID for iOS)
- Go back to Xcode, Click on the "Refresh" button, and magically all your devices set in the provisioning portal will be automatically added.
- Open Terminal and perform basic operations before going forward.
Please use commands below : - Copy Assets.xcassets
- Replace Assets.xcassets inside ios/Runner
- Open Xcode, Under "General tab" Look for :
- (a) Bundle Identifier field and replace it.
- (b) In your project directory, go to "ios/runner/info.plist". Find "CFBundleDisplayName" & "CFBundleName", Replace Signal" to yourApp-Name
- Go to 'ios/Runner/info.plist'
- Change 'com.incite.app' given under 'CFBundleURLName' and change it with 'your.custom-url.example'. It is the host of your deep link.
- Do the same in the Admin section, Go to Dashboard > Settings > Share Settings, 'iOS Schema' to add ios://your.custom-url.example, where 'ios' is the 'schema' and 'your.custom-url.example' is your host
- Open your firebase project and Click on "Project Settings"
- Scroll down and Click on Add App
- Then select platform for your app which is "iOS"
- Now, Enter your bundle ID ( Bundle Identifier ) and Click "Next"
- Download GoogleService-info.plist and replace in your "ios/Runner/GoogleService-info.plist", Click "Next"
- Click Next and proceed till Step 3 > Step 4 > Step 5 then Click on "Continue to Console"
- Push notification setup for iOS
- Refer to OneSignal iOS, then click on "Activate" iOS
- Make sure you follow "OneSignal setup for incite"
- Add p8 certificate (not p12 certificate) which you have generated from Apple developer account.
- Follow this documentation for One Signal only.
- Get Team ID from iOS developers account
- Select iOS Sdk and proceed
- From the Sidebar, Open "All Settings" section and then Click on "Is IOS Force Update".
- Minor updates
- Major updates
- Replace "lib" folder with the newly updated code's "lib" folder
- Navigate to "lib/urls/url.dart"and change values for "baseUrl = "https://your.server-url.com/api/" and "baseServer = "https://your.server-url.com/" to your server domain.
- Go to main.dart, look for OneSignal.initialize("here add your onesignal app id") in the code at line 126. Add the notification that you have for your project
- Replace "pubspec.yaml" file, before it please make sure you know the your app version. Please preserve it and after replacing pubspec.yaml file update the app-version (1.0.0+1) with your desired app version.
- Before following major changes. Please follow the "Minor changes" given above
- Replace "android/gradle/wrapper/gradle-wrapper.properties"
- Replace "android/build.gradle"
- Replace "android/app/build.gradle"
- Replace "android/gradle.properties"
- Replace "android/app/src/main/Androidmanifest.xml"
- Place this app icon with name "notification_icon" at "android/app/src/main/res/drawable/notification_icon.png"
- Replace "android/setting.gradle"
- Place this file at "lib/enable_notification.dart"
Rate Us Settings
You can change url from here to enable "Rate us".
Cron Job Settings
-
Choose how often you want the scheduler to run from the following options:
Basic App Setup
Flutter version : 3.4.3 <= 4.0.0 | Dart version : 3.5.3
See attached screenshot below :
How to change app icon for iOS and Android ?
For Android :
For IOS :
How to change app icon within app ?
How to change Notification badge icon for android app ?
Notification Icon for Firebase
How to change App Name & Bundle Id?
How to change App Name ?
How to change Bundle Id ?
How to Create App Signing Key
-
Before key creation, please read the instruction below :
Why need app Signing key
When you run the keytool
command to generate the key, it will prompt you to enter these details interactively. Once you've provided all the necessary information, the key.jks
file will be generated with the specified alias and stored in the directory you've chosen. Make sure to keep the keystore file and the passwords secure, as they are crucial for signing and updating your app.
Admin Settings to App (Both Android & iOS)
How to enable Deep Link ?
We need to change host of the App Url Host
How to associate Deep Link with web?
How to Enable Shorts in App ?
NOTE : We have provided support for "youtube videos" to work in app for now.
Configure the firebase setup
Enabling Google Signin
Remove Google Signin from App
Push Notifications Setup
Please go to "lib/enable_notification.dart" and switch it to your Preferred notification channel
How to set-up OneSignal SDK for push notifications ?
How to set-up Firebase push notifications ?
In App Force Update
If "disabled" then users can choose whether to use same app version or update to latest.ç
Create App bundle Signing key & Apk for PlayStore
How to create build and release Android App ?
IOS setup for Incite
Basic Setup
How to change App Icon (IOS) ?
How to change Bundle Identifier and App Name ?
Enabling Share Settings (iOS)
Firebase Configuration (iOS)
How to enable IOS Push Notifications (Flutter/Firebase) ?
How to create build and release iOS App ?
In App Force Update ( IOS )
If "disabled" then users can choose whether to use same app version or update to latest.
Existing Project Changes
Please remember while replacing this folder : If you have made customisations by yourself then we don't recommend this process.
- We have categorize changes in two variation :
Minor Updates
See attached screenshot below :
Major Changes (Rare Cases when major flutter version updated)
After replacing app/build.gradle file, do not forget to update the "bundle-id" of your project inside the file.