Homely

Upload - Discover - Buy - Rent - Properties

Introduction

Homely app is an ultimate real estate property listing script built with flutter and Laravel as backend. It offers many advanced features and functions. Users can list properties with appropriate details, location, images, buy/rent, prices etc. Tour Requests, 360° property Images, manage catalogue, chat and location based advanced search are some of it’s advanced features.

System Required

Change Base URL

  • Find the homely.zip from the folder downloaded from codecanyon and open in android studio.

  • Open homely>lib/utils/const_res.dart

  • Replace "base" with your BaseUrl.

Change package name

  • Android

    • Step 1 : Go to android > app

    • Step 2 : Click to build.gradle

    • Step 3 : Here, change the only applicationId And it's done.

    android
  • iOS

    • Step 1 : Now right click on iOS directory, flutter > Open iOS module in Xcode

    iOS_package_name_1

    Once the project gets opened in Xcode successfully, follow the steps below.

    • Step 2 : Go to runner > Signing & Capabilities

    • Step 3 : Change your bundle identifier as you want, and it's done.

    iOS_package_name_2

Change app name

  • Android

    • Step 1 : Go to android > app > src > main > AndroidManifest.xml and make changes shown in the below image.

    android_app_name
  • iOS

    • Step 1 : Now right click on iOS directory flutter > Open iOS module in Xcode

    iOS_package_name_1
    • Step 2 : Now go to Runner > General > Display Name, change it as you want.

    iOS_app_name

Change app color

    • Step 1 : Now go to your project lib > utils > color_res.dart as shown in the below image.

    change_app_color

Change app font family

    • Step 1 : Select any font from google font

    • Here’s how you download the font:

      • Visit the https://fonts.google.com/

      • Search for your font.

      • Once you find it, click to open.

      • Click on the Download Family button on the top right side of your screen.

      • Extract the compressed file.

      payment_1
    • Step 2 : Import the Font into Project

      To import the Font in your project:

    • Copy-Paste [font].ttf file into the fonts folder.

    payment_1
    • Step 3 : Add Font to Pubspec.yaml

    To add Font to pubspec.yaml file:

    • Replace the family name with your font family. To get the family name, simply take the first part before the dash sign (-). For example, if the downloaded font name is Montserrat-Regular , take the Montserrat as your family name

    • Go to pubspec.yaml file:

    • Replace the asset path with the path where your font is residing.

    • Then pub get to successfully load your font

    payment_1

Change app icon

    • Step 1 : Generating Different Sized Icons

      Go to https://www.appicon.co/ and upload the icon image and tick the iPhone and Android options and click on Generate. This site generates different sized Icons for both android and IOS at the same time.

    payment_1

      It will Download the Zip file named AppIcons with the android and Assets.xcassets named folders along with images for appstore and playstore which can be directly uploaded as an icon in both the stores

    payment_1

    Now, open your Project in Android Studio.

    • Step 2 : Adding Icons in Android.

    Navigate to android/app/src/main/res and right-click on res folder and click "open in Finder". Now delete all the mipmap folders in res folder and paste the mipmap folders from AppIcon/android folder which you have downloaded.

    payment_1
    • Step 3 : Adding Icons in IOS

    Now navigate to the ios/Runner/Assets.xcassets. Now after you are in Runner folder, right-click on Runner folder and click “open in Finder”. Now delete the Assets.xcassets folder and paste the Assets.xcassets folder from AppIcon/Assets.xcassets which you have downloaded.

    payment_1
    • Step 4 : Run the Application

    After manually changing the images in android and IOS folders now go to lib/main.dart and run the flutter project using the below command in the flutter console.

    flutter run
    payment_1

Configure Firebase

    • Go to the firebase project you might created while following backend documentation.

    • If you don't have, follow the steps below and create one project.

    • At first, follow this link https://firebase.google.com/

    firebase_1
    • Now, we first have to create a Firebase project. Firebase project will go through and describe what it is. This allows us to add an app to that project. It can have many projects inside of Firebase.

    firebase_2
    • Now, we have to give a name and id to the project, enable Google Analytics for the project, set an analytics location, and accept all the terms and conditions. Firebase console automatically creates a unique id for the project.

    • Step 1 : Giving a name to the project

    firebase_3
    • Step 2 : Enable Google analytics for the project

    firebase_4
    • Step 3 : First Choose default Firebase account and then create project

    firebase_5
    firebase_6

Add Android app to Firebase

    • In the next step, we have to choose the platform to add Firebase to our application. The platform can be Android, iOS, Web etc..

    android_firbase_1
    • Your package name is generally the applicationId in your build.gradle (app-level) file

    • See this page for information on using keytool to get the SHA-1 hash of your signing certificate

    • Add your applicationid in the first field and SHA-1 to the third field as shown in the image below.

    android_firbase_2
    • Download the google-services.json file & place it in your project's app root directory.

    android_firbase_3
    android_firbase_3
    • Back in the Firebase console-setup workflow, click Next to skip the remaining steps and then finish and complete

    android_firbase_4

Add iOS app in Firebase

    • We have to choose the platform to add Firebase to our application. Click on iOS.

    ios_firbase_1
    • On the next screen, enter your iOS bundle ID & App nickname and click on Register App. You can find your bundle ID in the General tab for your app's primary target in Xcode. If specified, the app nickname will be used throughout the Firebase console to represent this app. Nicknames aren't visible to users.

    ios_firbase_2
    • Download the GoogleService-Info.plist file & move the GoogleService-Info.plist file you just downloaded into the root of your Xcode project and add it to all targets. Make sure the config file is not appended with additional characters, like (2).

    ios_firbase_3
    • Back in the Firebase console-setup workflow, click Next to skip the remaining steps and the finish.

    ios_firbase_4

Email sign in

    • Click to Authentication and sign in mathod tab

    • Then click on email/password provider

    android_firbase_1
    android_firbase_1
    android_firbase_1
    • Then both button switch to enable and save

    android_firbase_1
    • Your email and password successfully Enable

    android_firbase_1

Google map APIs

    • Android path = android > app > src > main > AndroidManifest.xml
    firebase_1
    • iOS path = ios > Runner > AppDelegate.swift
    firebase_1

Google Search Place Api Key

firebase_1

Enable firestore

    • Step 1 : Click on Firestore Database and Create database.

    firebase_1
    firebase_1
    • Step 2 : Model will be open click on Next.

    firebase_1
    • Step 3 : Then click Enable button

    firebase_1
    • Step 4 : After create Database, You have to change rules of database then click publish button. Follow step, shown below.

    firebase_1
      firebase_1
    • Step 5 : Create 2 indexes in firestore.

    firebase_1
    • Index 1

      • Collection ID : ChatList

      • Fields :

        • notDeletedIdentity = Arrays

        • timeId = Descending

      • Query Scope : Select collection same as below the image.

    firebase_1
    • Index 2

      • Collection ID : UserList

      • Fields :

        • isDeleted = Ascending

        • time = Descending

      • Query Scope : Select collection same as below the image.

    firebase_1
    • After completing these two indexes, the result will look like the image below.

    firebase_1

Branch.io Setup

Revenuecat

    Android in App Purchase Setup

    • Play Store subscription setup

    • For configuring subscriptions on Google Play Console, follow the steps below:

      • Go to Google Play Console . Log in with your developer account.

      • Select the app in which you want to add subscriptions.

      • From the left menu, under the Monetize section, expand the Products category. Select Subscriptions.

      RC1
    • Let's start creating the subscriptions:

      • From the Monetize > Products > Subscriptions page, click Create subscription.

      • Select the app in which you want to add subscriptions.

      • From the left menu, under the Monetize section, expand the Products category. Select Subscriptions.

      RC1
      • Enter a unique Product ID for your subscription and a publicly viewable Name. Click Create.

      • For example, we will be creating a subscription for 3 months with:

        • Product ID: test_3m

        • Name: Premium - 3 Months

        Note : You won't be able to change or reuse a Product ID across any of your apps, even if the product is deleted.

        RC1
      • Click "Add a base plan"

      • RC1
      • Enter the Base plan ID, Renewal type (RevenueCat supports only Auto-renewing), Tags , and Price. Click Save.

      • RC1
      • Click Activate

      • RC1
      • Similarly, add two more subscriptions for 6 months and 12 months .

      • RC1
      • That completes the subscription setup for the Google Play Console. Let's move on to the play Store subscription setup.

    iOS in App Purchase Setup

        Before making products, Let's agree Agreements

        firebase_1
        • Once you agree this, both status should be active like this

        firebase_1

        App Store subscription setup

    • Follow the steps below to configure subscriptions on App Store Connect:

    • RC1
    • Choose the app in which your want to add subscriptions.

    • RC1
    • Select Subscriptions from the left menu and click Create under Subscription Groups.

    • RC1
    • Enter a name for the Subscription Group and click Create.

    • Learn in detail about iOS Subscription Groups here .

      RC1
    • This will create and open the Subscription Group. From this page, you will be able to create subscriptions for your app. Click Create under Subscriptions .

    • RC1
    • Enter a Reference Name and Product ID for the subscription. Use the same format for the Product ID as we had described earlier. Click Create .

    • RC1
    • This will take you to the subscription details page. Select the Subscription Duration .

    • RC1
    • Scroll down to the Subscription Prices section and click "Add Subscription Price" button.

    • RC1
    • Enter the subscription price in your preferred currency. Click Next.

    • RC1
    • The next page will show you the automatically calculated prices for other countries and regions. Click Next.

    • RC1
    • Click Confirm on the next page.

    • RC1
    • Scroll down to the App Store Localization section. Click "Add Localization".

    • RC1
    • Select your preferred language and enter a Display Name and Description . Click Add .

    • RC1
    • You can skip the App Store Promotion for now as it's optional.

    • RC1
    • Under the Review Information section, add a screenshot of the subscription screen of your app (you can also add a blank screenshot, having proper size for now, if you haven't yet created the subscription UI).

    • RC1
    • Scroll up to the top of the subscription page, and click Save. You will see a warning message if you haven't yet added localization to your subscription group. Click Add localizations (skip if you have already added).

    • RC1
    • This will take you back to the subscription group page. Click Create under App Store Localization.

    • RC1
    • Select your preferred language, enter a Subscription Group Display Name, and select App Name. Click Create .

    • RC1
    • This completes the addition of a subscription. You can follow similar steps for adding the other subscription plans as well, use the plus ("+") button next to Subscriptions .

    • RC1
    • With all the subscription plans defined on Play Console and App Store Connect, we are ready to connect with RevenueCat.


      Connect with RevenueCat

      • Create an account or log in to RevenueCat from here to get started.

      RC1
    • If you have created a new account, you will be automatically prompted to create your first project. Enter a Project name and click "CREATE PROJECT" button.

    • RC1
    • Next, you need to add your Android and iOS apps to RevenueCat in order to use and manage the subscriptions.

    • Adding Android app

      • Let's start by configuring the Android app:

    • Go to Apps under Project settings (from the left menu). Select Play Store .

    • RC1
    • Enter the App name and the package ID.

    • RC1
    • You need to create another Service Account for RevenueCat. Follow This guide to generate the credentials in JSON format. Drag and drop the Credentials JSON file. Click "SAVE CHANGES".

    • RC1
    • This completes the Android app setup on RevenueCat.

    • Adding iOS app

      • Follow the steps below to configure the iOS app:

    • Go back to the Apps page and click on "+ New".

    • RC1
    • Select App Store.

    • RC1
    • Enter an App name, Bundle ID, and App-Specific Shared Secret. To generate an App-Specific Shared Secret, follow The guide . Once you have the key, click "SET SECRET", enter the value, and click Set. Then click "SAVE CHANGES".

    • RC1
    • This completes the iOS app setup on RevenueCat.

    • Define subscriptions on RevenueCat

      • You will find these configuration levels on the left menu of the RevenueCat dashboard under the section Product Setup:

      RC1

      Products

      • In this configuration, you need to add all the subscriptions for both your Android and iOS app that the user can purchase. This is like a 1-to-1 mapping of the products in RevenueCat that you have already added to the stores (Google Play Store and Apple App Store).

      • To add products, follow these steps:

      • Select Products under the Product Setup section. Click "+ New".

      RC1
    • You need to enter the product Identifier and the App . Make sure you use exactly the same product ID you used for the Android/iOS subscription. Click ADD .

    • RC1
    • Similarly, add the other subscriptions as well (for both Android and iOS).

    • RC1

      Entitlements

      • Follow these steps to add an entitlement:

      • Select Entitlements under the Product Setup section. Click "+ New".

      • RC1
      • Enter an Identifier and Description for the entitlement. Click ADD.

      • RC1
      • Next, you need to attach the products to this entitlement. Click on the entitlement that you just created.

      • RC1
      • Click on Attach.

      • RC1
      • Select a Product from the dropdown and click ADD .

      • RC1
      • Similarly, attach all the other products to this entitlement.

      • RC1

      Offerings

      • Follow the steps below to add offerings:

      • Select Offerings under the Product Setup section. Click "+ New".

      • RC1
      • Enter an Identifier and Description for the offering. Click ADD.

      • RC1
      • Click to open the offering that you just created.

      • RC1
      • Click on "+ New" beside the Packages.

      • RC1
      • Enter an Identifier for the package from the dropdown and add a Description . Click ADD.

      • RC1
      • Similarly, add the other packages as well.

      • RC1
      • Click to open a package. Then click Attach.

      • RC1
      • Select the respective Play Store and App Store products from the dropdown. Click Attach.

      • RC1
      • Similarly, attach the correct products to the other two packages as well.

      • RC1
      • This completes the three levels of configuration on the RevenueCat.

      RevenueCat Project setup

      • you need to add the App Store Key and Play Store Key to Your project You can get these keys by going to the RevenueCat dashboard > API Keys > Public app-specific API keys. Copy and paste these keys into the respective fields of Project

      • RC1
        RC1
        RC56

Create application build

Want to talk with us?