# UHelp-Support Ticketing System

##### App Settings

1. General Settings
2. Ticket Settings
3. SEO Setup
4. Google Analytics
5. Custom JS & CSS
6. Captcha Settings
7. Social Logins
8. Email Settings
9. External Chat
10. Maintenance Mode
11. Security Settings
12. IP List
13. Email to Ticket

#### 1. General Settings

###### How to Setup “App Title and Logos”?

- Title : It’s the main title for the application. You can set the application's main title here by filling in the below input field with the "Title" name.
- Upload Light-Logo : You can upload your own brand "light logo" for the application to reflect this light logo in the dark theme.
- Upload Dark-Logo : You can upload your own brand "dark logo" for the application to reflect this dark logo in the light theme.
- Upload Dark-Icon : You can upload your own brand "dark icon" for the application to reflect this dark icon in the light theme.
- Upload Light-Icon : You can upload your own brand "light icon" for the application to reflect this light icon in the dark theme.
- Upload Favicon : You can upload your own brand "Favicon" for the application to reflect this Favicon the application.

`Note :` Please click on the “Save Changes” button after uploading the title, logos, icons, and favicon.

###### How to change the primary and secondary colors of the application globally?

- Color Setting : Navigate to `Admin panel->App Setting->General Settings`. You can update the "Primary and Secondary" colors of the application according to your choices with this setting.
- Primary Color : To change the primary colour of your application, please click on the (RGBA) "Primary color" input field and set the color of your choice, then click on the "Save Changes" button to see the change on the application globally.
- Secondary Color : To change the secondary colour of your application, please click on the (RGBA) "Secondary color" input field and set the color of your choice, then click on the "Save Changes" button to see the change on the application globally.

###### How to change the language and version (LTR to RTL) of the application globally?

- Global Language Setting : Navigate to `Admin panel->App Setting->General Settings`. With this feature, you can change the application's "Language and Version" (LTR to RTL) according to your choices.
- Language & Version : Here, by default, we provided only two languages: English (EN) and Arabic (AR). Please select the language from the language dropdown. For example, if you select the Arabic (AR) language, then the whole application will convert into the Arabic language as well as change the version from LRT to RTL.

`Note :` Please click on the “Save Changes” button after selecting the language.

###### How to setup application global settings?

- App Global Settings : A clear explanation is given for each and every concept in this setting in the below image.

###### How to change footer text?

- Footer Copyright Text : Navigate to `Admin panel->App Setting->General Settings`. Using the summer note editor, you can change the applications' footer text. As shown in the below image,
- If you don’t want to display any content in the footer section, please leave it empty.

`Note :` Please click on the “Save Changes” button after customizing the footer text in the summer note.

#### 2. Ticket Settings

###### How to setup ticket settings?

- Ticket Settings : Navigate to `Admin panel->App Setting->Ticket Settings`. Please select options to control the ticket settings. Or else, you can also refer to the particular "Ticket Settings" page to get an overview of the ticket settings, example as shown in the below image.

`Note :` Please click on the “Save Changes” button after uploading the title, logos, icons, and favicon.

###### How to setup file settings?

- File settings : Navigate to `Admin panel->App Setting->Ticket Settings`. The "superadmin" or any other “employee” who has permission to access the admin panel can control the file size and file type that will be uploaded to the tickets or articles by users.

  Here, the superadmin or permitted employee can set the maximum file size to be uploaded by users for tickets or articles. For example, if the file is set to 3MB by the admin, then the users can only upload images or files up to 3MB.

  Here, the superadmin or permitted employee can set the file types to be uploaded by users for tickets or articles. For example, if the file type is set as .jpg or.png by the superadmin, then the users can only upload those types of images or files.

`Note :` Please click on the “Save Changes” button after setting up your file settings.

#### 3. SEO Setup

###### How to setup SEO setting?

- SEO Settings : This web application also provides you with SEO (search engine optimization) settings. To setup SEO, navigate to `Admin Panel->App Setting->SEO`. This SEO setup comes with three input fields. 1. The author, 2. The description, and 3. The keywords. Fill out those three input fields so that you can increase the traffic for the application.

#### 4. Google Analytics

###### How to track the application’s activity using Google Analytics?

- Google Analytics : Basically, "Google Analytics" is used to track and monitor the application’s activities and the flow of traffic. To use the "Google Analytics" setting in the application, go to `Admin Panel->App Setting->Google Analytics`. Now click on the toggle switch button of "Enable Google Analytics" to enable and type the "Tracking ID" in the input field and click on the "Save Changes" button to apply the changes.

#### 5.Custom JS & CSS

- Custom CSS and JavaScript : This feature is used to customize the "CSS and JS." To use this feature, navigate to `Admin Panel->App Setting->Custom CSS and JavaScript` and follow the below given instructions.
- Custom CSS : Now you can customize your application styles by using custom CSS. And please do not use any tags, ex:
  , while writing CSS code.
- Custom JS : Now you can customize your application JavaScript by using custom JS. And please do not use any tags, ex:
  , while writing JS code.

`Note :` Please click on the “Save Changes” button after setting up your custom CSS and JS. .

#### 6. Captcha Settings

###### How to setup Captcha setting?

- Captcha Settings : This setting protects against any system-generated attacks like DoS attacks. To use this setting in the application, go to `Admin Panel->App Setting->Captcha Setting` page.
- Captcha Disable : Both manual and Google reCaptcha settings are deactivated or disabled by default in the application. Two captchas cannot be used at the same time.
- Manual Captcha Enable : To enable "Manual captcha" in your application, simply click on the switch button. However, if you use manual captcha, the other one, "Google reCaptcha," will be automatically disabled.
- Google Captcha Enable : If you want to use "Google reCaptcha," you must first configure Google reCaptcha's settings and get the "Site Key" and "Secret Key." Please visit the official site to create those two keys: https://www.google.com/recaptcha/admin/create and follow the instructions as given.

  `Note`: Please use only "reCAPTCHA v2" to generate "Site Key" and "Secret Key".

  Assuming that you have generated a "Site Key" and a "Secret Key". Now copy those two keys and paste them in the input field of "Google Re-Captcha Setting" and click on the "Save Changes" button. To use Google reCaptcha in the application, please enable the “Google Captcha Enable” toggle switch button from the above section.
- Captcha Setting in Forms : You must enable the switch of the forms as shown in the below image if you wish to use one of the above two, "Manual Captcha" or "Google reCaptcha" in them.

  For example, if you want to use manual captcha in the above-mentioned forms, you must first activate the "Manual Captcha Enable" switch button from the above section, then enable the switch button of the forms where you want to use manual captcha.

#### 7. Social Logins

- Social Logins : This feature gives "customers" an easy way to login to use the application. To use this feature in the application, navigate to the `Admin Panel->App Setting->Social Logins` page and follow the below process.
- Social Login : By default, the application comes with four (4) different types of social logins: Envato, Google, Facebook, and Twitter logins. Using those social login credentials, customers or users can easily login to the application.

  To use the above-mentioned social logins, for example, in my case, I chose the "Google" social login. Now go to the Google developer site and then you will need to configure and generate the "Client Id" and "Secret Id" for Google social login. Then, to show the Google social login on the application's login page, enter those two IDs into the input fields of the Google social login you generated, enable the switch, and click the "Save Changes" button.

#### 8. Email Setting

- Email Setting : This setting is used to send and receive emails of the application. To configure this setting, please navigate to the `Admin Panel->App Setting->Email Setting` page and follow the below process.

  Fill the detail according to your server that you are using

- Send Test Mail : “Send Test Mail" is a great option in this application to see how your customers will receive your mail in their inbox. To use the "Send Test Mail" option, first fill out the "Email Setting" section below with the appropriate details, and then use the "Send Test Mail" option.

  Now please enter a valid email address in the input filed and click the "Send" button to test the "Send Test Mail" option.

- Email Setting : There are two options in the email settings "Sendmail" and "SMTP". You can use either of the two options, but to use them you need to fill in the details according to your host server that you are using.
- Sendmail : If you are using the "Sendmail" option, then the details must match those of the host server where the application is deployed. Fill in the appropriate details of your host server in the “Email Setting” and click on the “Save Changes” button to apply the changes and use this feature.

  `Note`: If you are using the "Sendmail" option, you do not need to fill in the "Mail Username" and "Mail Password" fields.

- SMTP : If you are using the "SMTP" option, then you need to fill out all the input fields in the "Email Settings" to connect with the host that you wish to use in the application.

#### 9. External Chat

- External Chat : To use a third-party chat system, please navigate to `Admin Panel->App Setting->External Chat` page.

  Now integrate the third-party external chat system code into the "External Chat" text area below. And click on the above switch buttons accordingly to enable or disable the third-party external chat system on the application.

#### 10. Maintenance Mode

- Maintenance Mode : When the application is in development mode or in the testing process, the "Maintenance Mode" is used to prevent visitors from accessing it. To configure this feature, please navigate to the`Admin Panel->App Setting->Maintenance Mode` page and follow the below process.
- Go Live : The application's status will be set to "Go Live" by default. "Go Live" just indicates that the application is in standard mode and visible to all users.
- Under Maintenance : Basically, "Under Maintenance" is a way of informing your visitors that your application is currently in "Maintenance Mode." When you're updating your application or making minor changes to it,

###### How to use “Under Maintenance”?

- To change the status of your application to "Maintenance Mode", please select the option "Under Maintenance". After that, you'll be provided with an auto-generated "Secret Key" and instructions on how to use it. Please read the instructions carefully and click on the "Save Changes" button.

  `Note`: Please read the "Secret Key" instructions carefully before you click on the "Save Changes" button.

#### 11. Security Setting

- Security Setting : In this application, we implemented three different types of security settings: "Country Block/Unblock", "Admin Country Block/Unblock", and "DOS Attack". And they are unique in their functionality. To use this setting, navigate to the `Admin Panel->App Setting->Security Setting` page and follow the below process.
- Country Block/Unblock : This setting is used to "Block" or "Allow" countries from accessing the application of the main site URL: https://app.spruko.com/mydesk, which is on the visitor's side.

  If you want to "Block" or "Allow" a country or multiple countries, then click and select the countries from the "Select Country" dropdown and click on the "Save changes" button to block or allow the countries you selected.

  By default, all countries are allowed to use the application. If the "Select Country" dropdown is left empty, then any country can access the application's main site URL: https://app.spruko.com/mydesk.

- Admin Country Block/Unblock : This setting is used to "Block" or "Allow" countries from accessing the application of the admin URL: https://app.spruko.com/mydesk/admin, which is on the admin side.

  If you want to "Block" or "Allow" a country or multiple countries, then click and select the countries from the "Select Country" dropdown and click on the "Save changes" button to block or allow the countries you selected.

  By default, all countries are allowed to use the application. If the "Select Country" dropdown is left empty, then any country can access the application's admin URL:https://app.spruko.com/mydesk/admin.

  `Note`: You are not allowed to block your own country.

- DOS Attack Setting : This setting secures the application from denial-of-service (DoS) attacks.

###### How do I set up DoS attack settings and get a basic overview?

- You have two input fields in the DoS attack setting. The first input indicates "Attempts" and the second input indicates "Seconds." For example, if 10 "attempts" in 30 "seconds" come from a particular IP address, then that IP address will be blocked or the user may be redirected to a captcha page, depending on the option you choose.

  `Example`: First enable the toggle switch button, choose the "View Captcha" option from the "DOS Attack Setting" section and set 10 in the first input field ("Attempts") and 30 in the second input field ("Seconds") and click on the "Save Changes" button. If a user tries to access the application 10 times in 30 seconds, his or her IP address will be temporarily blocked and he or she will be redirected to the captcha page. Or if you choose "Block IP Address", then it will block the IP address permanently. If you don't want to use this feature, simply click on the above toggle switch button to disable it.

#### 12. IP List

- IP List : All temporary and permanently blocked IP addresses are displayed in the "IP List" table, and you can also add IP addresses manually by clicking on the "Add IP Address" button in the "IP List" table.

  When you click on the "Add IP Address" button in the "IP List" table, a modal pop-up will appear with the "IP" input field and "Type". Fill in the input field and select the option from the "Type" and click on the "Save" button to apply the changes.

- Unlock : You can "unlock" and make the IP addresses normal so users can access the application.
- Lock : You can "Lock" the IP addresses and make users to access the application temporally with captcha.
- Block : You can "Block" IP addresses, and users won't be able to access the application permanently until the IP addresses are "unlocked."

  Here there are three more options. Edit, Delete, and Reset in the “Actions” column on the "IP List" table.

- Edit : By clicking on the edit option in the “Actions” column you update the IP addresses using the above options.
- Delete : You can also delete the records of IP addresses permanently. So that users are allowed to access the application.
- Reset : You can also reset the IP addresses. It works the same as the unlock option so that users are allowed to access the application.

  `Note` : Please click on the “Save” button after you add or edit the IP addresses.

#### 13. Email to Tickets

###### Let’s first understand what is IMAP?

IMAP (Internet Message Access Protocol) allows you to use a range of devices to access email stored on a server. Your hosting server must have an email plan that supports IMAP in order to use IMAP email.

- Email to Tickets : Assuming that you have an email plan that supports IMAP, first you need to configure the IMAP settings to use "Email to Ticket". Basically, this setting is used to check the incoming emails and if you get any incoming emails, then it will convert those emails into tickets. In order to use this setting, please navigate to the Admin Panel->App Setting->Email To Tickets page and fill out the required fields with the IMAP credentials. Please make sure that first you enable the toggle switch button and then click on the "Save Changes" button.
- Cron Jobs : You must run the cron command on the cPanel server to make all automatic functions, such as "Auto-Close Ticket," "Auto Notification Delete," "Auto Overdue," "Auto Response," and "Email to Ticket."

  `Example :`To run the cron command on your server, login to your cPanel server, scroll down and navigate to Advanced->Cron Job, and go to "Add New Cron Job" and select the "Once Per Minute (*****)" option from the "Common Settings" dropdown, and type the below command in the "Command" input field, and click on the "Add New Cron Job" button. If the process is done in the correct way, then you’ll get a message that says "cPanel successfully added the cron job".

  `Example Command`: cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1

  `Note`Automatic functions of the application will not work unless you run the above cron command on your server.