JustJobs - Remote Job Listings SaaS platform
1. Introduction
Hey, thanks for purchasing "JustJobs - Remote Job Listings SaaS platform". Here you'll find about everything you need in order to get started with launching your app. If you have any questions, don't hesitate do contact us.
2. Requirements
2.1.Webserver requirements
- Apache webserver with mod_rewrite, nginx or Litespeed
- Mysql 5.7.7+ or Mariadb 10.3.17+, and PHP-PDO (nd_pdo_mysql) driver
- PHP >= 8.0.2
2.2. PHP required extensions:
- BCMath
- Ctype
- Fileinfo
- JSON
- Mbstring
- OpenSSL
- PDO
- Tokenizer
- XML
- cURL
- exif
- GD
2.3. Other, optional requirements:
- FFMpeg (Optional, if not provided, only mp4 videos will be allowed)
- AWS S3 for files storage
- AWS CloudFront for secure assets access
- Stripe & Paypal seller accounts & API Keys
3. Files Setup
Before proceeding with the actual installation, we need to make sure that you unzip the script content onto the directory that is going to serve your domain. This can be either done via cPanel or command line.
3.1. Upload the script directory onto your server.
Locate the file manager and upload the Script
folder onto your web serving directory. You can then even move the contents of the newly extracted Script
folder onto the side main public directory, but make sure you also copy any hidden files.
3.2. Extract archive contents.
3.3. Configure files permissions
In order for the script to work properly, you will need to configure the right permissions some of the files & folders you've just extracted. Set the access permissions (CHMOD
) to 755
for the following folders:
vendor
storage
bootstrap
You can find more info on how to update access permissions, depending on your setup, at:
- cPanel - Update file or folder permissions
- Plesk - Setting File and Directory Access Permissions
- For CLI usage, you can use
chmod 755 filename
for single filer orchmod -R 755 directory
for setting access to a directory recursively.
3.4. Changing the public directory Important
Configure your web server's document / web root to point to the public
directory of the software. For example, if you've uploaded the software in example.com
folder, your web directory should be changed to example.com/public
folder.
You can find more info an how to change your site Document root over at:
- cPanel - New document root
- Defining a Custom Document Root
- For custom servers / VPSs you will have to change your DocumentRoot out of the site's virtual host file.
If your hosting provider doesn't allow changing your DocumentRoot, you can temporarily rename the .htaccess.sample
to .htaccess
. Use this just as a temporary solution.
4. Database Setup
4.1. Create a new database
4.2. Create a new mysql user
4.3. Add the user to the database
You can find additional info on how to create databases and users, depending on your setup over at:
5. Installing the script
The script comes with a ready to go web installer that you can access on the /install
path, as in https://your-domain.com/install
.
Once there, you should be able to see a panel like this, which will guide you through a simple, 3 steps installation process.
- 6.1. Checking requirements. If minimum requirements are not met, script will not be installable.
- 6.2. In this form, please enter the database host, name, user and password that you've created on step 3.
- 6.3. In this form you'll be able to set up site's name, your admin user and validate your script license.
Once you're done with the installation, you'll be able to customize the rest of your site's aspects via the admin panel.
6. Setting up the payments providers
In order to be able to receive payments, you'll need to set up at least one payment provider for your app.
Navigating to Admin > Settings > Payments
area, you will be able fetch your site's webhook endpoints to be used with Paypal and Stripe, and fields to fill in their Secret & Public keys.
- Login into your Stripe dashboard.
- From the secondary sidebar, please go to Developers > API Keys.
- Copy the
Publishable key
andSecret key
in the admin panel, over atAdmin > Settings > Payments > Processors > Stripe
. - Next up, from the Developers tab, go to Webhooks and click on
Add endpoint
- For the
Endpoint URL
, please copy the webhook endpoint located atAdmin > Settings > Payments > Processors > Stripe.
. - For the
Version
field, select the latest version. - Then, for the
Select events to listen to
, go with theSelect all events
. - Once done with creating the webhook, you will get a Webhook secret, which will need to be added in the
Admin > Settings > Payments > Stripe Webhooks Secret
field.
- Login into your Paypal account, using the Paypal developer dasboard.
- Go to the My apps & credentials area, select the
Live
switch button and then hitCreate app
button to create a Paypal app. - Copy the Paypal's
ClientID
& PaypalSecret Key
and add them into the admin into the Settings > Payments area. - Go to the My apps & credentials area, select the
Live
switch button and then select your freshly created app. - Scroll down the page until you reach the
Production Webhooks
area, where you'll need to click on theAdd Webhook
button. - On the Webhook URL field paste your webhook URL. This can be found, as shown in the first screenshoot, over at
Admin > Settings > Payments.
- For the
Event types
, selectAll Events
and hitSave
- Login into your Coinbase Commerce account, using coinbase commerce sign in.
- Go to Settings section.
- Search for API keys
- Click on Create an API key, copy the key and add it into the admin panel into Setting > Payments area.
- Search for Webhook subscriptions
- Click on Add an endpoint. The webhook url can be found over at
Admin > Settings > Payments
section. - Then, click on Show shared secret and add that secret into the admin panel, over at
Admin > Settings > Payments
- Login into your NowPayments account, using NowPayments sign in.
- Go to Store settings section.
- Add a new API Key
- Copy the key and add it into the admin panel into Setting > Payments area as
NowPayments Api Key
. - Go back to your NowPayments account over Store settings and generate an
IPN secret key
- Add secret into the admin panel, over at
Admin > Settings > Payments
asNowPayments IPN Secret Key
- The next step is to add crypto wallets into your NowPayments account.
- We recommend adding as many wallets as possible with different crypto currencies so the conversion rate will be lower.
-
We recommend adding a payment covering percentage into your NowPayments account representing percentage of the payment that needs to be paid to be considered completed.
Example: If set to 5%, an item priced at $100 will be considered fully paid for if the customer transfers cryptocurrency worth 95$.
- Login into your CCBill account, using CCBill sign in.
- Go to FlexForms Systems and check for Flex ID.
- Copy the Flex ID and add it into the admin panel over at
Settings > Payments > Payment processors > CCBill > CCBill FlexForm Id
. - Add your
CCBill Account Number
over admin settings. - Login into your CCBill one time payments sub account and go to
Account Info > Sub Account Admin
- Under left navigation go to
Basic
and set your approval & denial URL's by getting them from the admin panel over atAdmin > Settings > Payments
section - Then select
Webhooks
from the left navigation and add your webhook (choose JSON as Webhook Format). You can find the CCBill Webhook URL over the admin settings section. - Add your sub account number for one time payments into the admin panel, over at
Settings > Payments > Payment Processors > CCBill > CCBill SubAccount One Time Payments
- Repeat the above steps for your sub account for recurring payments.
- The last step is to ask CCBill about your
Salt key
and fill that into the admin panel. - In order to be able to programmatically cancel CCBill subscriptions you need to set up a DataLink API user.
- Login into your CCBill recurring payments sub account and from the top navigation go to
Account info > DataLink Services Suite
- From the left navigation click on
Add user
and fill in the username and password. - For
Subsystem
tick on all the checkboxes then add your VPC ip address on theValid Ips
field - Click on store user and add the accounts details into the admin panel, over at
Settings > Payments > Payment processors > CCBill
asCCBill DataLink Username / Password
- Login into your Paystack account, using paystack sign in.
- Go to Settings section.
- Check API Keys & Webhooks tab
- Copy the
Secret key
and add it into the admin panel into Setting > Payments > Payment processors > Paystack. - Go into the admin panel and copy
Webook & Callback
URL's and add them into Paystack
7. Setting up the cron jobs Important
7.1 Crons setup
In order to get the platform fully functional, including the payment system, emails, offers and more, you will need to set up the following cronjob.
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
Some custom web-hosting panels might require the cron task to be set in a different manner. If needed, you could also run the task with absolute paths (or different PHP versions), like this:
* * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1
7.1 Ensure crons are running
Crons plays an important role in the payment system so please ensure the crons are not returning any fatal error when running them (eg:cd /path-to-your-project && php artisan schedule:run
). You can also make sure there are no errors under the crons log file @ storage/logs/cronjobs.log
.
You can find more info an how to set up crons over at:
- cPanel - Add a cron job
- Plesk - Scheduling Tasks
- For VPS servers, you will need to add that line into your
/etc/crontab
file. Based on distribution settings, you might need to include the user as well.
8. Setting up the emailing driver
For the mailing driver you can mainly choose between three main options, which are Mailgun via API, SMTP or PHP mail() function, if available. You also have the logging option, in case you're just debugging things.
The emailing settings can be found over at Admin > Settings > Emails
. Here's a short description over the settings.
- Mail from name - Name in which the emails are sent, also attached to email footers.
- Mail from address - Email address sending from. EG: no-reply@domain.com
8.1 Log driver
The logging driver has mainly debugging purposes. Logged emails can be found under the storage/logs/laravel.log
log file.
8.1 Sendmail driver
The sendmail driver can be used if the PHP mail() function is configured on the server. Most of cPanel shared hosting providers has it enabled.
8.3 Mailgun driver
- Mailgun domain - The domain/subdomain you've set up to use with mailgun. Must have valid DNS records set up priorly.
- Mailgun secret - The domain API key
- Mailgun endpoint -
api.mailgun.net
for US orapi.eu.mailgun.net
for EU instances
8.4 SMTP driver
- SMTP Host - Your SMTP server host name / IP.
- SMTP Port - Generally
587
for TLS and465
for SSL. Can be different based on the email provider. - SMTP Encryption - TLS / SSL
- SMTP Username - Your SMTP username
- SMTP Password - Your SMTP password
Notes
- To test if emails are properly set up, you can create a new account, if misconfigured, you will get a 500 error, while the account should still be created.
- Generally all drivers are good if running properly, but mailgun API seems to be the fastest.
9. Setting up storage driver
9.1 Setting up AWS S3 hosting & CloudFront
If you dont want to use your server as hosting for your application files you have the option to use AWS S3 (including CloudFront and CloudFront Signed Url's) which is more faster and secure.
S3:To upload your data to Amazon S3, you must first create an Amazon S3 bucket in one of the AWS Regions.
- Go to AWS Console and login or create an account.
- After you successfully login into your account go to Search for services area and search for S3.
- Next up, you should be redirected to S3 page, click on
Buckets > Create bucket
. - Set up your bucket
name
andregion
. - Enable
Make public using ACL
option. - Disable
Block all public access
checkbox. - Enable
I acknowledge that the current settings might result in this bucket and the objects within becoming public
checkbox. - The other options stay as default.
- Click on Create bucket after you make sure all the details are correct.
- After you successfully create the bucket, you need to generate the AWS access keys by going again to Search for services area and search for IAM (Identity and Access Management).
- Next up, go to
Access management > Users
and click on Add users. - Set an
username
under user details area and enableProvide user access to the AWS Management Console - optional
. - Under Set permissions area, click on
Attach policies directly
and then search forAmazonS3FullAccess
and enable this policy (or you can add a custom policy) then click Next. - Review the settings, add a tag if you want or leave it default, and then click on Create user.
- After the user is created, click on the user name in the list to open the user details.
- Under Security credentials, click on Create access key.
- In the Create access key dialog, choose the option that best fits your needs and click Create access key.
- Make sure you save the AWS
Access Key ID
andSecret access key
securely as you won't be able to view the secret access key again after this dialog. - Save
bucket name
,AWS Access Key ID
andAWS Secret access key
to the admin panel, over atAdmin > Settings > Storage
.
When you want to use CloudFront to distribute your content, you create a distribution and choose the configuration settings you want.
- Follow steps from S3 section from above to create bucket.
- Go to Search for services area and search for CloudFront.
- Next up, you should be redirected to CloudFront page, click on
Distributions > Create distribution
. - Set your bucket origin under
Origin > Origin Domain
area by searching for previously created bucket. - The other options can stay as default as long as you don't want something custom.
- After you successfully create distribution, save
Distribution domain name
to the admin panel, over atAdmin > Settings > Storage > Aws CloudFront Domain Name
(remove https:// part from the domain name) and enable CloudFront. - Check Steps for Creating a Distribution for more details about how to create and setup a CloudFront distribution.
To use signed URLs, you need a signer. A signer is a trusted key group that you create in CloudFront.
-
Create a key pair for a trusted key group:
- Run
openssl genrsa -out private_key.pem 2048
command to generate the private key. - Use the following command
openssl rsa -pubout -in private_key.pem -out public_key.pem
to extract the public key from the file namedprivate_key.pem
.
The following steps use OpenSSL as an example of one way to create a key pair. There are many other ways to create an RSA key pair. - Run
-
To upload the public key to CloudFront:
- Sign in to the AWS Management Console and open the CloudFront console.
- In the navigation menu, choose
Key management > Public keys > Create public key
. - For
Name
, type a name to identify the public key. - For
Key
, paste the public key. If you followed the steps in the preceding procedure, the public key is in the file namedpublic_key.pem
. - Use the cat command on the macOS or Linux command line, like this:
cat public_key.pem
. Copy the output of that command, then paste it into the Key value field. - Open the
public_key.pem
file with a plaintext editor like Notepad (on Windows) or TextEdit (on macOS). Copy the contents of the file, then paste it into the Key value field. - Click add and copy the public key ID. You use it later when you create signed URLs, as the value of the
Key-Pair-Id
field. (this is also the Aws CloudFront Key Pair Id that must be set in admin panel)
To copy and paste the contents of the public key, you can: -
To add the public key to a key group:
- In the navigation menu, choose
Key management > Key groups > Create key group
. - For
Name
, type a name to identify the key group. - For
Public keys
, select the public key to add to the key group, then choose Add. - Choose Create key group.
- In the navigation menu, choose
-
Adding a signer to a distribution:
- Record the key group ID of the key group that you want to use as a trusted signer.
- Open CloudFront console and choose the distribution whose files you want to protect with signed URLs or signed cookies.
- Choose the Behaviors tab.
- Select the cache behavior whose path pattern matches the files that you want to protect with signed URLs or signed cookies, and then choose Edit.
- For Restrict Viewer Access (Use Signed URLs or Signed Cookies), choose Yes.
- For Trusted Key Groups or Trusted Signer, choose Trusted Key Groups.
- For Trusted Key Groups, choose the key group to add, and then choose Add. Repeat if you want to add more than one key group.
- Choose Save changes to update the cache behavior.
- Save previously created public
Key-Pair-Id
to the admin panel, over atAdmin > Settings > Storage > Aws CloudFront Key Pair Id
. -
Copy previously created private key pair RSA file into project root by following steps:
- Copy
private_key.pem
file intoproject root
. - Add private key file path to the admin panel, over at
Admin > Settings > Storage
and enable CloudFront Signed Url's. (If you followed previously steps this path should look like thisprivate_key.pem
)
- Copy
- Make sure your S3 bucket permissions are set to public.
- Check Serving private content with signed URLs for more details about CloudFront Signed Url's.
9.2 Setting up Wasabi storage driver
If you like to use Wasabi instead of S3 for file storage, that can be set by changing the storage driver, out of the Admin > Settings > Storage > Driver
.
Once you've done that, you wil have to add your credentials which are available over the Wasabi website. Please make sure you account is validated, so buckets can be available to the public.
You will also need to add the following policy to your bucket:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPublicRead", "Effect": "Allow", "Action": "s3:GetObject", "Resource": [ "arn:aws:s3:::your-bucket-name", "arn:aws:s3:::your-bucket-name/*" ] } ] }
Note, that the Wasabi bucket can not have any dots inside it.
9.3 Setting up Digital Ocean Spaces storage driver
If you like to use Digital Ocean Spaces storage, that can be set by changing the storage driver, out of the Admin > Settings > Storage > Driver
. Once you selected the new driver, proceed with the following steps:
- Create a new Spaces access key and copy the key and secret.
- Go to
Admin > Settings > Storage
and add your newly created keys into theDO Access Key
andDO Secret Key
- Go to Spaces area and create a new space. Default settings should be just fine.
- Select the new bucket. You will then see a link of this format
https://{bucket-name}.{region}.digitaloceanspaces.com
- For the
DO Bucket
, insert the{bucket-name}
url section. - For the
DO Region
, insert the{region}
url section.
9.4 Setting up Minio storage driver
Once you got your minio instance ready, you can then proceed with changing the storage driver, out of the Admin > Settings > Storage > Driver
. Once you selected the new driver, proceed with the following steps:
- Create a new set of keys and copy the key and secret.
- Go to
Admin > Settings > Storage
and add your newly created keys into theMinio Access Key
andMinio Secret Key
- Create a new bucket and fill in the
Admin > Settings > Storage > Minio bucket
For theMinio Bucket
field. - For the
Admin > Settings > Storage > Minio Region
, insert the region your instance is using. - For the
Admin > Settings > Storage > Minio Endpoint
, insert the endpoint your instance is using.
9.5 Setting up PushrCDN storage
Once you got a pushrcdn account, you can then proceed with changing the storage driver, out of the Admin > Settings > Storage > Driver
. Once you selected the new driver, proceed with the following steps:
- Go go the CDN page and create a new
Push zone
- Set a zone label, and for
Sonic Storage Type
set theAWS S3-compatible.
- Select the new zone you've created and then click on
Storage and Hostnames
area. - Fill in the pushr storage admin setting fields with the
keys
,bucketname
,S3 endpoint
andCDN Hostname
values.
10. Google reCAPTCHA
In order to enable Google reCAPTCHA for public forms (like register page, contact page, etc), you will need to:
- You can get your API Keys from this link.
- Create a new app and use
reCAPTCHA v2 > "I'm not a robot" Checkbox
type of keys. - Copy your
Site Key
andKey secret
and add them into theAdmin > Settings > Security > Recaptcha
fields.
12. OpenAI
The AI-suggestions feature can be enabled via the Admin > Settings > AI
area, where you can enable or disable the feature, which can offer OpenAI based suggestions for users posts and bio descriptions.
The other setting you need to fill in is the OpenAI Api Key
, alongside other prediction settings. You can get your API key by registering an account over at Open-AI site and get your key over this link OpenAI API Keys.
13. Slack Webhook Configuration
13.1 Steps to Create Slack Webhook URL
- Sign in to your Slack workspace.
- Go to Slack API: Apps and click "Create New App".
- Select "From scratch", name your app, and choose your workspace.
- In the app settings, select "Incoming Webhooks" from the left sidebar.
- Switch the toggle to "On" to activate Incoming Webhooks.
- Click "Add New Webhook to Workspace".
- Select the channel where you want to post messages and click "Allow".
- Copy the generated webhook URL.
- Go to
Admin > Settings > Slack
and add the webhook URL in theSlack webhook URL
field.
14. Localization
In order to translate your site in any language, you will need to make a copy of the default en.json
language file found in lang
folder, and change it according to your needs.
- The json language file must follow iso format, eg: es.json, ro.json, en.json.
- If you need to overwrite the validation rules messages or other libraries, the
en
folder can be copied and renamed to the new language code.
intl
extension available will improve the localization experience and avoid issues with custom, un-common languages.
15. Admin panel
15.1 General info & how to add new users
If everything went fine, the Admin panel will be available at http://your-domain.com/admin
. The credentials are set during the installation / user creation.
Once you got your main admin account set up, you can then manage your roles and other admins users from the admin panel itself.
If for some reason you lost access to the account, you can either reset the password of the user or create another and make it an admin using following command or SQL query:
php artisan voyager:admin your@email.com
UPDATE users SET `role_id` = 1 WHERE `email` = 'your@email.com'
15.2 Available admin settings
Over the Admin > Settings
area, you can view and manage your website content and customize different aspects of it. Here's a quick description of the main settings available in the admin area.
- Dashboard - View quick info about your platform
- Media manager - Browse and manage all site's media
- Jobs management - Browse and manage all jobs and their associated data
- Manage skills
- Manage categories
- Manage job applicants ranges
- Manage job salary ranges
- Manage job types
- Manage job skills
- Companies management - Browse and manage all companies and their associated data
- Users management - Browse and manage all users and their associated data
- Process users identity checks based on uploaded IDs
- Manage user roles
- Manage user reports
- Money management - View and manage subscriptions and payments related data
- Manage subscriptions
- Manage transactions
- Manage manual payment requests
- Manage invoices
- Taxes - Manage taxes, countries and regions
- Plans - Create and manage the available subscription packages
- Pages - Create and manage public pages
- Contact messages - Preview received contact messages
- Featured clients - Manage clients to be featured on the homepage
- Featured categories - Manage categories to be featured on the homepage
- Newsletter - Manage newsletter subscribers
- Settings - Change a wide variety of site settings
- Site settings
- Site title
- Site description
- Site slogan
- Light site logo
- Dark site logo
- Site favicon
- Share:og image
- Allow (users to) switch to dark mode
- Allow (users to) change site direction (RTL-LTR)
- Allow (users to) switch languages
- Default site language
- Hide identity checks menu - Either show or hide the "Verify" setting category for users
- Allow PWA Installs
- Newsletter box homepage position
- Display featured clients area on the homepage
- Display popular tags box on the homepage
- Media settings (See 7.4. Setting up FFMpeg)
- Allowed file extensions
- Max file uploads size (MB)
Do not exceed PHP limits
- Use chunked uploads
- Chunks size
- Max avatar&cover file size
- Payments settings (See 7.1. Setting up the payment )
- Manage general settings
- Manage individual payment processors
- Manage invoices data
- Emails settings
- Email driver - Choose between Log/SMTP/Mailgun. We recommend mailgun via API.
- Mail from name
- Mail from address
- Additionally, each email driver comes with it's configuration fields that must be filled in properly.
- Storage settings (See 7.2. Setting up AWS & CF for advanced configs)
- Storage driver (Choose between locally hosted files, S3, Wasabi, Minio, PushrCDN or DO SPaces ones)
- Social login
- Set your social login clientIDs & secrets for Facebook, Twitter & Google.
- Social media
- Set your social media footer links.
- Custom Code / Ads
- Job page sidebar ad - Will be shown on the listing page right sidebar.
- Custom CSS Code - Custom code to inject in the platform
- Custom JS Code - Custom code to inject in the platform
- Admin settings
- Admin Title
- Admin Description
- Admin Loading spinner image
- Admin Icon Image
- Admin Background Image
- Admin notifications for contact messages
- Compliance settings
- Enable cookies box.
- Enable age verification dialog.
- Age verification box cancel url.
- Security settings
- Manage 2fa, recaptcha and more.
- AI Settings
- Open-AI based suggestions settings.
- Colors
- Generate your own custom theme.
- License
- Your product license settings.
- For the email driver, we recommend going with the mailgun API Key based method, not the SMTP one, which can slow down the request time.
- For the assets hosting, we strongly recommend using AWS S3 & CloudFront with Presigned URLs. This is the only way you can protect your users assets, meaning the images and video links are served via CloudFront and links are temporary & IP locked.
16. How to update
- Make a backup of the
.env
config file located on your server. - Upload and replace all the files on your server with what's inside the
Script
folder. - Restore your
.env
config file on your server. - Go to
https://example.com/update
and follow the update wizard.1
- Updates that do not have database changes, will not show up in the update wizard.
17. FAQ
-
I have a support inquiry, a question or a problem, how can I contact you?You can contact us by sending us a private message over our Codecanyon profile.
-
What hosting do you recommend?We recommend using DigitalOcean, as they offer great performance and flexibility at an affordable price.
-
Is installation included in the price?No, installation is not included. We offer installation services for an extra fee, for which you can send us a message.
-
My website returns a Not Found message, why?Please ensure that you have
mod_rewrite
enabled on your server. -
I have uploaded my files but getting 500 error. Why?This usually happens when uploading the script files via FTP, while your operating system is skipping the hidden files, including the
.env
file. You can either re-upload that file and the rest of such files, like the.htaccess
files, or the .zip file onto the server and extract it there.This can also happen when moving files around using Cpanel's file manager. Make sure to go toSettings > Preferences
and checkShow hidden Files (dotfiles)
, so hidden will also be selectable.Another reason for which you might get a 500 error on the installation step is missing PHP extension. Thestorage/logs/laravel.log
file can be checked to get the exact extension/reason. -
How can I edit my homepage?
Generally, for each page, including homepage, you will have a skeleton like this one:
- Controllers are found in the app/Http/Controllers directory
- resources/views/page.blade.php view file (for HTML)
- public/js/pages/page.js (For Javascript changes)
- public/css/pages/page.css (For CSS changes)
So for the homepage, you would have
home.css, home.js, home.blade.php, etc
. However, you will have to back up and replace your updated files after each update you do on the instance. For the footer, you would have to edit theresources/views/template/footer.blade.php
file. -
How can I change the PWA app icons?
In order to change your PWA app icon and splash screen assets, you will need to replace the existing ones within the
public/img/pwa
folder.Usually, after replacing the assets, the browser cache must be cleaned in order to see the new icon and splash screen in action.
-
How can update my custom modified version of the script?
Our recommendation regarding maintaining custom modified version of the platform is the following:
- Create your own (private) repository
- Host your custom code changes on a separate branch
- Update the main branch with the new update
- Merge the updated version onto your branch (resolve any conflicts if that’s the case)
- Release your (custom) updated version of the script
- Update the platform, as per How to update section
-
Assets are not uploaded or shown on local storage, why?First off check if the
Admin > Settings > Site url
field is containing an invalid value. Secondly, you can check if the storage symlink is created properly. If not, please re-create it yourself using the following CLI commands:-
rm -rf public/storage
-
ln -s storage/app/public public/storage
-
-
Site throwing 500 error after changing file storage driver, why?This generally happens when the storage driver credentials or configurations are wrong. If you can't access the admin panel either, you can reset the storage driver by running this query in phpMyAdmin or your DB client
UPDATE `settings` SET `value`='public' WHERE `id`=95;
. -
I am having issues with uploading large files, what can I do?This is generally a issue with the server/web-server/PHP settings. The following settings can used to increase/bypass max upload limits:
Admin > Settings > Media > Max file uploads size
Admin > Settings > Media > Chunked uploads
If still having issues, these PHP settings can be adjusted to desired values, but other server/web-server/firewall settings might affect as well. -
I am having issues with ffmpeg encoded videos, why?This is generally a issue with the server/web-server/FFMpeg build. The issues can be different, from encoder related issues to memory related ones. Generally, the error of the last encoded video can be found over the
storage/logs/laravel.log
file. That usually should contain the real reason of the failure.If the error is (audio) encoder or memory related, the following options might help:Admin > Settings > Media > FFMpeg video conversion quality preset
Admin > Settings > Media > FFMPEG Audio encoder
If the error persists, you might have to adjust server settings or the available ffmpeg build. -
How do I test payments on the demo website?Depending on the payment provider you want to use you can use the following credentials:
- Stripe:
Card No: 4242 4242 4242 4242
Date: any future date
CVC: 123 - PayPal:
Email: sb-mzdi86428457@business.example.com
Password: Dz1d_EP/ - CCBill:
VISA - 4111111111111111
MasterCard - 5105105105105100
Discover - 6011111111111117
CVV: 300
- Stripe:
18. Contact us
For questions, do not hesitate to contact us by sending us a private message over our CodeCanyon profile page.
11. Social login(s)
11.1 Overview
Though the social login providers UI can change, the general steps that must be taken in order to allow social logins is:
ClientID
&Client Secret
keysAdmin > Settings > Social media
categoryAdmin > Settings > Social media
copy theCallback url
for the providerCallback url
for the respective provider, back on their page over the CallbackUrl/Authorized urls section.11.2 Social providers info
TwitterAPI Key
andAPI Key secret
which you need to copy and add them intoAdmin > Settings > Social media
section.Callback url
and add it toCallback URLs
field, over twitter app's settings.Admin > Settings > Social media
&Client
secret, add them to adminCallback url
and add it toAuthorized redirect URIs
App settings > Basic
, then copy theApp ID
&App secret
and add them in theAdmin > Settings > Social media
section.App > Facebook Login > Settings
Callback url
and add it toValid OAuth Redirect URIs