# Documentation

## Viavi Real Estate Portal

Thank you so much for purchasing our item from codecanyon.

- Version: 1.1
- Author: Viaviwebtech

- Created: 31 July, 2024
- Update: 24 December, 2024

If you have any questions that are beyond the scope of this help file, Please feel free to email via Item Support Page.

## Server Requirements

Checking to ensure that your web host have the minimum requirements to run Viavi Real Estate Portal.

- PHP >= 8.2
- Ctype PHP Extension
- cURL PHP Extension
- DOM PHP Extension
- Fileinfo PHP Extension
- Filter PHP Extension
- Hash PHP Extension
- Mbstring PHP Extension
- OpenSSL PHP Extension
- PCRE PHP Extension
- PDO PHP Extension
- Session PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
- Intl PHP Extension
- GD PHP Extension (or Imagick PHP Extension)
- PHP Zip Archive
- Rewrite Module (Apache or Nginx)

PHP.INI Requirements

    open_basedir must be disabled

File and folder permissions

                /bootstrap        775
                /storage          775 (recursively)

## Installation with Apache

Creating a new Database

First thing you want to do before installing Viavi Real Estate Portal is to create a new database on your mysql server.

Your hosting provider is likely to offer phpMyAdmin as the mysql manager. If your hosting provider uses a different database manager, the process will be very similar.

Login to your control panel, find and click phpMyAdmin link.

Navigate to the 'Database' tab located in the top menu. Enter a preferred name for your database, and then click on the 'Create' button to initiate the database creation process.

Uploading Files

Unzip the downloaded package and open the /real_estate_script folder to find all the files. You will need to upload these files to your hosting web server root using FTP or localhost in order to use it on your website, usually `/path/to/www/` or `/path/to/html/` or `/path/to/httpdocs/` or `/path/to/public_html/`.

Note Make sure .env and .htaccess extract properly. If you did't know where is env file then please check File Structure

Go to the script's installation URL. For example http://yoursite.com or http://yoursite.com/public/install

And follow the web installation Steps.

## Installation with Nginx

Upload all the /real_estate_script package files to your server root, usually `/path/to/www/` or `/path/to/html/` or `/path/to/httpdocs/` or `/path/to/public_html/` and set your server configuration like this:

    root "/path/to/www/public";
                location / {
                   try_files $uri $uri/ /index.php?$query_string;
                }

- Then restart Nginx.
- Create a MySQL database, add user to it with full permissions.
- Go to the script's installation URL. For example http://yoursite.com or http://yoursite.com/public/install
- And follow the web installation Steps.

## Installation Steps

Follow the steps below to setup your Viavi Real Estate Portal:

1. Minimum Requirements

   Run your site or sub domain http://yoursite.com

   You should now see the minimum system requirements checklist - If there are any issues with the checklist, you will need to fix that before you can proceed to the next step.

2. Verifying Purchase

   Where can I find my purchase code? Please read this.

   Here you have to enter your Envato username and Item Purchase code.Then click Verify.

3. Database Configuration

   Enter your `database host`, `database user`, `database password` and `database name`.

   Note Do not use # in database password.

   Then click Import, If everything goes well, you should see this page.

   Database import step take sometime, So don't do anything when database import.

4. Finish Installation

   Congratulations! Viavi Real Estate Portal is successfully installed.

#### Admin Access

Go to http://yoursite.com/admin after successfully configuration

We created default an admin account for you

`Email:` admin@admin.com
`Pass:` admin

## File Structure

.env and .htaccess configuration files are located here

All design layout files are located here (`resources/views/`)

All language files are located here (`Translation file lang/en/words.php`)

## Site Configuration

To set the site name, logo etc. go to Admin > Settings > General Settings.

## General Settings

Following informations needed to be updated.

- Site Logo - Pick a png logo.
- Site Favicon - Favicons like site icon. Pick a png icon
- Site name - Your site name and this is important for search engines
- Site email - When you send email that email shown to user.
- Site Description - Type some detail about your site.

Also you can also configure Timezone, Styling and etc in here.

## Email Configuration

So if you want to enable mail sending. Please go to Admin > Settings > SMTP Email

Note Do not use # in email password.

If you have problem with mailing with this setup than please contact your hosting provider with those variables and ask correct info. We recommended use your hosting SMTP email settings.

##### For Gmail SMTP setup settings

`SMTP username:` Gmail email address
`SMTP password:` Gmail password
`SMTP server address:` smtp.gmail.com
`Gmail SMTP port (TLS):` 587
`SMTP port (SSL):` 465
`SMTP TLS/SSL required:` Select TLS or SSL

Note Now configure your Google account settings visit Google Security Page.

First, Turn on 2-Step Verification.

Second, Create App passwords, use this password for email password

## reCAPTCHA

Get reCAPTCHA Key

- Visit https://www.google.com/recaptcha/admin
- Follow the steps by select the reCAPTCHA version 2 and get your site key and your secret key.

Admin Setup

- Go to the Admin panel -> Settings -> reCAPTCHA
- Set Site key and Secret key
- Set ON Display Pages
- And Save Settings.

## Social Login Configuration

So if you want to enable social login. Please go to Admin > Settings > Social Login

## Create Google App

In this step we need google client id and secret that way we can get information of other user. so if you don't have google app account then you can create from here : Google Developers Console. you can find bellow screen :

Now you have to click on Credentials and choose first option oAuth and click Create new Client ID button. now you can see following slide:

Set Authorized redirect URL: http://yourdomainname.com/auth/google/callback

After create account you can copy client id and secret.Now you have to set Client ID and Secret in admin

## Payment Gateway Configuration

Now you need to setup the PayPal, Stripe, Razorpay and etc. go to Admin > Payment Gateway

## PayPal

To create a Paypal App, go and visit: https://developer.paypal.com/developer/applications

- Log into Dashboard and type your PayPal account email and password.

- On the My Apps & Credentials page, toggle to Live or Sandbox depending on which kind of app you want to create or edit

- To create an app, click Create App in the REST API apps section. Type a name for your app and click Create App.

- By clicking on Create App, it will redirect you to the settings page for your new PayPal App. page will look like as mentioned in the image below:

- Copy and save your API credentials — the client ID and secret set on admin.

## Braintree (for App only)

Log into either the production Control Panel or the sandbox Control Panel, depending on which environment you are working in

Click on the gear icon in the top right corner

Merchant ID: To find your merchant ID

- Click Business from the drop-down menu

You'll find your merchant ID at the top of this page.

Merchant Accounts ID: To find your Merchant Accounts ID

- Click Business from the drop-down menu
- Scroll to the Merchant Accounts section

From here you'll see the merchant account IDs in the first column for each account.

Public key: To find your Public key

- Click API from the drop-down menu
- Scroll to the API Keys section

If no API keys appear, click the Generate New API Key button.

Private key: To find your private key

- Click API from the drop-down menu
- Scroll to the API Keys section
- Click the View link located in the Private Key column

Your private key will be revealed in the Private Key column on the next page.

## Stripe

Get your Stripe Secret Key and Publishable key

Users with Administrator permissions can access a Stripe account’s API keys by navigating to the Developers section of the Stripe dashboard and clicking on API Keys.

## Razorpay

API key is a combination of the key_id and key_secret and is required to make any API request to Razorpay. You also have to implement the API key in your code as part of your integration process.

- Log into your Dashboard with appropriate credentials.
- Select the mode (Test or Live) for which you want to generate the API key.
- Navigate to Settings → API Keys → Generate Key to generate key for the selected mode.

The Key Id and Key Secret appear in a pop-out window as shown below:

## Paystack

Get your Paystack Test and Live API Keys

In order to get your Test API Keys, simply go to your dashboard settings and click on the API Keys & Webhooks tab. Scroll to where it says "API Configuration - Test Mode", here you will find your Test Secret Key and Test Public Key as captured below:

After you're done testing and are satisfied with your integration, you'll need your Live API Keys to be able to receive real money from your customers.

## PayUMoney

Sign up on PayUMoney.

go to Manage Account ⇒ My Account ⇒ Merchant -Key Salt copy your key and set on admin.

## Flutterwave

Create a Flutterwave account, if you haven't already.

On your dashboard, switch to Test Mode and get your API keys.

To get your keys:

- Log in to your Flutterwave dashboard.
- Navigate to Settings
- Select the API Keys open in the Developers section of the menu to view and copy your keys.

## Bank Transfer

When using a bank transfer as a payment gateway, you'll likely need to provide your customers with specific instructions on how to make the transfer.

Here's a template you can use for such communication:

`

Bank Name: [Your Bank Name]
Account Holder: [Your Name]
Account Number: [Your Bank Account Number]
SWIFT/BIC/IFSC Code: [SWIFT/BIC/IFSC Code]

Transfer the exact amount for the payment to be successful. Please make payment only in the account number mentioned above.

If you have any questions, you can contact customer support at any time.

`

## SSLCommerz

Once the account with SSLCommerz is created, you need to follow the steps mentioned below to add SSLCommerz as the payment gateway in your store.:

1. Login to your SSLCommerz account.
2. Get the store id and password of your SSLCommerz account.
3. Go to Payment Gateway section in Admin Panel to set up the Payment method SSLCommerz as your payment gateway. Provide the store id and password of your SSLCommerz in the settings.

## Cinetpay

Before proceeding with API integration, you must :

- Have a merchant account on www.cinetpay.com
- Get your APIKEY, SECRETKEY and SITEID from your merchant account:
  1. Go to www.cinetpay.com/login and log in with your access information
  2. Then click on the "Integrations" menu
  3. You will find your APIKEY, SECRETKEY and your SITEID

## Android App Configuration

App Verify Purchase: go to Admin > Android App > App Verify.

Verify purchase required for app API and after verify you can access other app settings page.

Note: Don't use the app package name with space otherwise you will get an error.

## Cronjob

Set up a cron job on your server like such:

* * * * * /usr/bin/php /home/my_user/my_app/artisan schedule:run >> /dev/null 2>&1

The above is telling your cron to run once every minute. So, once every minutes, it runs your scheduled task.

You can change this frequency to Twice Per Day(0 0,12 * * *) or etc.

Note: This step is only for email notification when any user subscription expired and also disabled properties of that user. If you have any issue then contact your hosting provider because cron job path different on different hosting.

## FAQ

A FAQ is a list of frequently asked questions (FAQs) and answers on a particular topic.

##### Can I run on My Server?

If you have all requirements on your server then yes you can run!. Please check requirements Installation tab

##### What hosting do you recommend?

We recommend using SiteGround, as they offer great performance and flexibility at an affordable price.

##### Can I use this on more than one domain?

With purchase license you have one domain permission. You need to get another licenses for your another domians if you want to use on more than one domain. Please check Envato Help Page for more information about licenses http://codecanyon.net/licenses/standard

##### Issue: Parse error: syntax error, unexpected 'class' (T_CLASS), expecting > identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in

This means you do not have PHP 8.2.0 or newer version. Script needs PHP 8.2.0 or newer version.

##### Issue: I'm Getting 500 Server Error

It could be anything. Its a server error. Could be missing files Or missing server configuration. It may be permission issue too. If so please try to set 777 permission for storage and bootstrap folder and all folders and files on it.

##### How can I translate my website?

Find the default `words.php` language file found in `/lang/en` folder, and change it according to your needs.

##### Where do I find the HTML template files?

The HTML template files can be found in the `/resources/views` folder.

##### Where can I add my custom CSS and JS code?

You can add your custom CSS code in Admin => Settings => General =>`Header Code` and `Footer Code`.

##### How can I create a custom page?

You can create custom page in `Admin => Pages`.

## License

Regular License

Use, by you or one client, in a single end product which end users are not charged for. You can't Sell the End Product, except to one client. (If you or your client want to Sell the End Product, you will need the Extended License.)

Extended License

The Extended License grants you, the purchaser, an ongoing, non-exclusive, worldwide license to make use of the digital work (Item) you have selected. You are licensed to use the Item to create one single End Product for yourself or for one client (a "single application"), and the End Product may be Sold.

Please check Envato Help Page for more information about licenses http://codecanyon.net/licenses/standard

## Support

We provide support through Skype, Email or WhatsApp.
Skype: support.viaviweb
Email: info@viaviweb.com OR viaviwebtech@gmail.com
WhatsApp: +919227777522

If this documentation doesn't answer your questions, So, Please send us Email via Item Support Page

We are located in GMT +5:30 time zone and we answer all questions within 12-24 hours in weekdays. In some rare cases the waiting time can be to 48 hours. (except holiday seasons which might take longer).

Note: While we aim to provide the best support possible, please keep in mind that it only extends to verified buyers and only to issues related to our script like bugs and errors. Custom modifications or third party module implementations are not included.

#### Don’t forget to Rate this script

Please Add your Review (Opinion) for Our Script. It would be a great support for us.
Go to your Codecanyon Profile > Downloads Tab > & then You can Rate & Review for our script.
Thank You.