## Application Information

LaraContact is a multi user’s online contact management application that helps you organize your contacts in a centralized location.

- Name: LaraContact
- Description: Online Contact Management Web Application
- Current Version: 3.1.0
- Last Updated: Dec 01, 2020
- Creator: Eliarms

## Server Requirements

You will need to make sure your server meets the following requirements to use the application:

- PHP >= 7.2.5
- BCMath PHP Extension
- Ctype PHP Extension
- Fileinfo PHP extension
- JSON PHP Extension
- Mbstring PHP Extension
- OpenSSL PHP Extension
- PDO PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
- MySQL >= 5.6

## Package Files

Here's an overview of the content of the downloaded package

- `Online-Contact-Management-App` - The application root folder.
- `Documentation` - Application Documentation.
- `MySQL` - The folder containing the Database SQL file
- `ContactsImporTemplate.csv` - The template used to import contacts

## Configuration

#### 1 . cPanel

1. Log into the cpanel section of your Hosting provider & go the to File Manager
2. Uploads all the files from Online-Contact-Management-App to the root folder or any subfolder
3. Create an empty database for your project using the database tools you prefer.The exact steps will depend on your hostinng provider system setup
4. Import the SQL file from MySQL Folder to the database you just created
5. In the .env file, add the information to allow the application to connect to the database you just created in the previous step. To do this, you must add the connection credentials in the .env file and the application will handle the connection from there.
   In the.env file fill in the DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME, and DB_PASSWORD options to match the credentials of the database you just created.
6. Import the SQL file from MySQL Folder to the database you just created
7. Access the aplication from it's public URL , Here's the detailed steps from Namecheap Cpanel hosting
8. Configure Mailgun to send emails from the Application
9. Configure Twilio for SMS and Phone Calls

#### 2. Local System

1. Create an empty database for your project using the database tools you prefer.The exact steps will depend on your system setup
2. Import the SQL file from MySQL Folder to the database you just created
3. In the .env file, add the information to allow the application to connect to the database you just created in the previous step. To do this, you must add the connection credentials in the .env file and the application will handle the connection from there.
   In the.env file fill in the DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME, and DB_PASSWORD options to match the credentials of the database you just created.
4. Open the Terminal, Browse to Online-Contact-Management-App and type
   php artisan serve
5. Access the aplication from the URL displayed in the console (Ex: http://localhost:8000/)
6. Configure Mailgun to send emails from the Application
7. Configure Twilio for SMS and Phone Calls

## MailGun Set Up

LaraContact uses Mailgun for emails, hence you need to add a valid Mailgun API keys in the admin section to activate this feaure.
Please follow the steps written in this article to learn about the procedure to configure Mailgun in LaraContact.

## Twilio Setup

LaraContact uses Twilio for sms and phone calls, hence you need to add the required Twilio Settings in the admin section to activate this feaure.
Please follow the below steps to access your twilio settings

- First, sign up for your free Twilio trial account. The signup process includes verifying your personal phone number: this is a security measure that is mandatory before you can try Twilio.
- Once you finish signup, you should see your Console Dashboard. This is your home for finding your Twilio credentials, checking your usage, procuring a phone number and more.
- Get a phone number, Twilio gives you a small preloaded balance to test out Twilio’s functionality. You will not be charged for Twilio phone numbers or usage until you upgrade
- Create a new project and copy the values of the below three parameters from the Console Dashboard. It will be needed later in the configuration
  1. ACCOUNT SID
  2. AUTH TOKEN
  3. PHONE NUMBER
- Create an API Key

  You need to create an API Key , which contains a secret used to sign Access Tokens. You can create API Keys from the Twilio Console. At the time you create the API Key, you'll be shown the Key's secret. For security, you will only be shown the secret when the key is created. You should store it with the Key's SID in a secure location for the next step

- Create a TwiML App in Console

  1. Login to your project at www.twilio.com/console.
  2. Click Programmable Voice >TwiML > TwiML Apps
  3. Click the red + sign icon , or Create new TwiML App.
  4. Fill out the TwiML App form as desired, and then click Save
     - Properties - Friendly name: Enter the desired name for your app [Ex: LaraContact]
     - Voice - Request URL: Enter the public URL of the application followed by the path connectcall and then select HTTP POST
  5. Take note of the Application SID , It will be needed later in the configuration.

  NB: If you don't have a public URL available and you would like to test the Phone call and SMS features, You can use NGROK to generate a public url.

## Configure LaraContact to make phone calls, Send SMS and Emails

Log in to LaraContact portal using your admin credentials and choose Site Configuration From the caret ‎Dropdown menu

Enter your mailgun domain and API Key from "MailGun Set Up Step"and click on “Save Settings” to apply the changes.

Enter all your Twilio settings obtained from "Twilio Set Up Step"and click on “Save Settings” to apply the changes.

## Application Features

- Complete CRUD Application

- User Management with Roles

  1. Admin - Administration right with Full Access to the System.
     `Username : admin@example.com
     Password : laracontact`
  2. Clerk - Data Entry right for basic CRUD operations
     `Username : dataentry@example.com
     Password : laracontact`
  3. User - Read only access to the data
     `Username : user@example.com
     Password : laracontact`

- Localization Feature [English , French , Spanish , Arabic , Chinese...]

- Contacts

  1. Custom Sorting
  2. Custom Search
  3. Custom Tags
  4. Custom Fields
  5. Group Contacts By Group>

- Browser to phone call

- SMS Notification

- Bulk SMS

- Email Nortification

- Bulk Emails

- Email attachments

- Auto Complete Feature

- Login & Registration System

- Photo upload using laravel Storage

- Import & Export Contacts

- App Landing page

- Pagination, Responsive and multiple layout ,Clean User Interface

- Custom 404 page

- Global System Configuration Section

  1. Manage Application name
  2. Manage Application Logo
  3. Manage Metta Description
  4. Manage Application Language
  5. Manage Application Layout

## Import / Export contacts

Use the provided `ContactsImporTemplate.csv` Excel template file and fill up your contacts.
Go to the settings section of the application `http://yoururl/settings` and follow the instruction

## Browser Support

Supports all major Browsers like Google Chrome, Mozilla Firefox, Safari, Opera, Internet Explorer 9 and above.

## Change Log

1. #### Version 3.1

   [2020.3.1] - 01 Dec 2020
   - [MAIN] Add Browser to Phone Call Module
   - [MAIN] Add SMS Notification Module
   - [MAIN] Add Email Notification Module
   - [MAIN] Improve UI
   - [MAIN] Improve Documentation

2. #### Version 3.0

   [2020.3] - 07 July 2020
   - [MAIN] Minor bug fix
   - [MAIN] Upgrade to laravel 7
   - [MAIN] User Management with Roles Feature
   - [MAIN] Add Localization features
   - [MAIN] Add Global System Configuration Section Feature
   - [MAIN] Improve Documentation

3. #### Version 2.0

   [2017.2] - 18 December 2017
   - [MAIN] Minor bug fix
   - [MAIN] Add Tags features
   - [MAIN] Add Custom Fields features
   - [MAIN] Add Export / Import Contacts features

4. #### Version 1.0

   [2017.1] - 20 April 2017
   - Inital Release

## Support

The documentation included provides all the information needed to get the application installed and customized. However, if you have any questions you can contact us via the contact form on envato contact page, and we will be happy to help you.
If you have any bug reports, or feature requests, please let us know!

## How to rate this Application

Please do rate us if you like the Application and support. We look forward to your valuable review. For rating visit: https://codecanyon.net/downloads and find "Rate this item" below the download button and rate out the Appliction. Thanks a lot for your Support!