If you are able to get login page when you access the script from your browser, it means you have successfully installed the application. Now its time to configure the script, to select the features you want in the script. This is very important to use the script.

After completing the installation, you can login with the admin login details which you have entered during installation phase.

For first account (which will be default admin account), there will not be any kind of email verification. You can just log in with your email & password which you have used to create your first account.

By default, the email driver is set to "log", which means you will be able to send emails but all the emails are logged at storage/logs/laravel.log file. So you can open this file & can read the email. This is important in case you haven't set any email driver and forget your password. You can just go to this file and search for "Password Reset Email". Once you get this email, you can copy the password reset email link in your browser & then reset your password with few clicks.

Once you are logged into dashboard, you might find empty menu items. Do not worry, everything needs to be enabled in configuration page. Click on the (Configuration) menu available in the top right header. This menu is by default available for "admin" user and need not any kind of configuration.

Follow below steps to complete the configuration:

Required Go to configuration "basic" tab, complete the basic info about your company.

Optional Move to "Logo" tab, select both logo i.e. Main logo & Sidebar Logo.

Required Move to "System" tab, choose your color theme, direction to display, date format, time format, notification position, locale & timezone. Next, choose the features you want to enable by switching on the various feature.

Please note, if any feature is not switched on here, you will not be able to experience it in your application. You can any time switch it on/off as per your requirement.

Required Move to "Mail" tab, choose your mail driver & enter desired fields depending upon your mail driver. The script only provides a method to send emails and doesn't bear any cost of sending email. You are free to choose any email driver listed over there.

Optional Move to "Locale" tab, you might want to have this script in your own locale. Default locale supported in this script is English (en). Built-in language translator can make your job easy. Add your new locale here, go to translation & save translation for all possible words. Now move to "System" tab & choose your locale. That's it.

Required Move to "Role" tab, create new roles (If required). Script supports two default roles (1) Admin (2) User. Both role can not be deleted. Also note that roles can not be edited. The script uses spatie/laravel-permission package to manage roles & permissions. You should visit this link to know more about this package.

Required Move to "Permission" tab, create new permissions (If required). Script supports many default permissions. Permissions once created can not be edited. Once you create permission, you can click on the "Assign Permission" button to assign permission based on the roles. You can simply switch on/off the button of any roles to enable/disable permission.

The script uses spatie/laravel-permission package to manage roles & permissions. You should visit this link to know more about this package.

Required Move to "Menu" tab, Choose the menu option which you want to see in the left sidebar. Once you click on "save", you will be able to see the menu list in the left sidebar. If it is not visible, click on any other link and menu list should appear now in the left side bar.

Optional Move to "SMS" tab, The script supports Nexmo SMS API. If you have live Nexmo account with SMS balance then you can send SMS from this script. Currenly, Nexmo SMS API is used to send Two Factor Authentication code to the user. If you want to add it anywhere else, you can do it by writing few lines of code.

Required Move to "Authentication" tab, There are various authentication variable available in the script. You can change this variable as per your requirement.

Optional Move to "IP Filter" tab, If you wish the script to be available to selected range of IPs then you can achieve this functionality by defining a range of IPs in this script.

Important Note: Always enter your IP first in the system else you will get yourself blocked and you won't be able to access the script. The only way to escape from this is to disable this feature from database by setting "ip_filter" value to 0 in the config table.

Required Move to "Task" tab, here you need to set task properties as below:

Task configuration is divided into three parts:

  1. Task category: You can categorize the task into multiple categories. Enter the category name and its description (optional) in the task category form and click on the save button. Each task can have one task category which will be chosen from this task categories list. You can any time edit or delete the task category.
  2. Task priority:  You can create multiple task priority for your task and assign this priority to task. Task priority is used to determine which task is important and should be complete first. Each task can have one task priority which will be chosen from this task priorities list. You can any time edit or delete the task priority.
  3. Misc Configuration: This task configuration contains miscellaneous setting as below:
    1. Task Number Prefix: Each task assigned with a task number prefixed by certain character(s).  You can set this prefix here. By default it is set to "SM".
    2. Task Number digit: Task number can be set to show a fixed number of digit. For example, if you set this task number digit to 5, the task number will adjust itself by adding 0 infront of the task number i.e. SM000002. You can change the number digit from here.
    3. Default Task Progress Type: There are three different progress types available for task tracking. Task progress varies between 0 to 100. Once task progress reaches to 100, task is assumed as complete.
      1. Manual: In manual tracking, users can drag the progress bar manually to set the task progress.
      2. Sub Task: In this progress type, task progress is calculated by (total number of sub task / number of sub task completed). Any user with permission "Create Sub Task" can create any number of sub task.
      3. Question: In this progress type, a certain set of question is required to answer. Once all the answer is submitted, task progress is assumed to be 100%.
    4. Default Task Rating Type: There are two different rating types available with the system to rate the assigned user.
      1. Task based Rating: When enabled, assigned users are rated one time for overall task. You can put rating star and put review one time for a task.
      2. Sub Task based Rating: When enabled, assigned users are rated for every sub task. It means, task owner can choose the user to be rated, a list of sub tasks are populated from the list where task owner is required to put rating and review for every sub task. An average is calculated for overall task rating.

Required Move to "Question" tab, Here you can prepare set of questions that can be asked from assigned user before completing the task.

You can create multiple question set, each question can have multiple questions. For example question set "Web Development Question" is set for the task and it contains below questions:

These three questions are required to answer in "Yes" or "No" type along with a text box is required to enter the details by the assigned users. Once these questions are submitted, the task is assumed to be completed and eligible for "Task Sign Off" request.

Optional Move to "Schedule Job" tab, In Laravel framework you can define scheduler commands. The script uses same scheduler command feature. The script can send Birthday/Anniversay wish to staff or can generate daily backup at certain time period. You can go to app/Console folder & change the setting.
To know more about Laravel scheduler visit here.