Getting Started

Create PostgreSQL Database

Why we use PostgreSQL database, not MySQL?

MySQL is generally known to be faster with read-only commands at the cost of concurrency, while PostgreSQL works better with read-write operations, massive datasets, and complicated queries. A system like ours must be well secured not only for reading, but also for writing because of the complexity in calculating the amounts sent from one user to another or to a third party. For this we prefer to work on the basis of PostgreSQL.



What you need from your VPS or Shared Hosting?
preview
  • You need to create a new database for this installation, so open your VPS Panel or Shared hosting and create a new one.
  • After success creation, save database connection details to use it in installation below. You need to know PostgreSQL server host, port, username, password and database name.

Create .env

preview

Our script is use Laravel Framework and configuration is placed in .env file which is located in main directory of script. By default script come with .env.example and if you are worked before with Laravel you know how to create it manually.

As developers, we strive to make it as easy as possible for our customers, and for that we have prepared a web tool that will help you fill in the settings found in the .env file.

Create .env via our Web ENV Generator
  • Open our Web .env Generator
  • Fill the form and click on button "Generate .env"
  • Copy the contents in the gray box, and create a new .env file in which to paste the copied contents.



After create a .env you must create a encryption key for application. So you need to open SSH Terminal and run following command:
php artisan key:generate
preview

Create Framework Directories

Our script is use Laravel Framework requires a specific directory to write cache to. By default we have added them to the archive you downloaded, but it happens that they may be missed when uploading because they are empty. So in the next step we will check if these directories exist in the storage/ directory and if they don't exist we will create them manually.
Required directories:

  • storage/framework
  • storage/framework/sessions
  • storage/framework/views
  • storage/framework/cache
  • storage/framework/cache/data



If this directories is missing, use following commands to create them. Every directory must be with permission 777 (read-write-execute).
mkdir storage/framework
mkdir storage/framework/sessions && chmod 777 storage/framework/sessions
mkdir storage/framework/views && chmod 777 storage/framework/views
mkdir storage/framework/cache && chmod 777 storage/framework/cache
mkdir storage/framework/cache/data && chmod 777 storage/framework/cache/data
php artisan cache:clear && php artisan config:clear && php artisan view:clear && php artisan optimize

preview

Composer Install

preview

Every single project, like ours, uses libraries that require to be installed according to the configuration of the specific server. To avoid bugs regarding different configurations we strongly recommend that this happens in the installation process and not to inherit those from our server. PHP uses Composer to install these libraries.

Here is a list of libraries which will be installed:

                                    
"require": {
    "php": "^8.0.2",
    "aws/aws-sdk-php": "^3.277",
    "barryvdh/laravel-dompdf": "^2.0",
    "coinpaymentsnet/coinpayments-php": "^1.4",
    "cryptoapis/sdk-guzzle7": "^1.7",
    "foroco/php-browser-detection": "^2.3",
    "guzzlehttp/guzzle": "^7.2",
    "josiasmontag/laravel-recaptchav3": "^1.0",
    "laravel/framework": "^9.19",
    "laravel/passport": "^11.8",
    "laravel/sanctum": "^3.0",
    "laravel/socialite": "^5.8",
    "laravel/tinker": "^2.7",
    "league/flysystem-aws-s3-v3": "^3.15",
    "osiemsiedem/laravel-autolink": "^6.0",
    "shuchkin/simplexlsx": "^1.0",
    "socialiteproviders/apple": "^5.5",
    "socialiteproviders/google": "^4.1",
    "stevebauman/location": "^6.5",
    "stripe/stripe-php": "^9.8"
},
"require-dev": {
    "fakerphp/faker": "^1.9.1",
    "laravel/pint": "^1.0",
    "laravel/sail": "^1.0.1",
    "mockery/mockery": "^1.4.4",
    "nunomaduro/collision": "^6.1",
    "phpunit/phpunit": "^9.5.10",
    "spatie/laravel-ignition": "^1.0"
},

                                

How to install libraries?
Open SSH Terminal and go to main directory of the script such a screenshot which we show you at the start of this section.

Run command:
composer install
 

if you get issue like screenshot run command:
composer update
 
then wait installation to be completed.
The installation takes about 3 minutes depending on the internet connection of your VPS or Shared Hosting. After the installation of the libraries has completed successfully, you will notice that a vendor folder has been created and filled with the files of the libraries that have just been installed and you can then proceed to the next section in the installation documentation.

If you have problem with installing libraries, you can download a vendor folder and upload and extract directly to your domain main directory.
Download vendor.zip (56.46MB)

Run Migrations

Our script use Laravel Migrations system with which you can easily create the tables needed to run the script on your host or add new or change current tables that have been corrected by some update. Laravel Migration system gives you the wonderful opportunity to have your website with the latest version of the database whenever you receive a new update from us, with it we can also restore previous versions of the database if necessary.

To run migrations you must open a SSH Terminal and run this command:

php artisan migrate
 

After migration complete, you will receive a screen like screenshot below.
preview

Run Seed

The script seed includes all the basic configuration that the script needs to run on your host without a problem. It's mandatory! If you want to edit the admin account that is created with the seed, you can enter the database/seeders/ directory and open the UsersSeeder.php file. On line 25 of the file you can edit the admin username, on line 26 you can edit admin email address and on line 29 you can change the default admin password.

preview


To run seed you must open a SSH Terminal and run this command:
php artisan db:seed
 

After seed complete, you will receive a screen like screenshot below.
preview

Complete

After completing all the script installation steps described above, you can continue configuring the script step by step in the Configuration section. Open your web address in browser and go to Login page, and login to system with your admin account. If you dont touch the UsersSeeder the default email for admin account is [email protected] and password is admin.

preview

preview