“Directory Platform for Symfony” Documentation by “Code Vision” v1.0


“Directory Board Platform for Symfony”

Created: 07/13/2017
By: Code Vision
Email: info@wearecodevision.com

Thank you for purchasing my theme. If you have any questions that are beyond the scope of this help file, please feel free to email via my user page contact form here. Thanks so much!


Table of Contents

  1. Application Installation
  2. Demo Content
  3. Nginx Configuration
  4. Application Configuration

Application Installation - top

Symfony Application Requirements

Installing on the local machine

Please note that we will be working in terminal. Mac or Linux users have already terminal available in OS but Windows users must look for third party solution

  1. cd directory-platform
  2. composer install # Install all dependencies and configure parameters
  3. php bin/console doctrine:database:create # Create new database
  4. php bin/console doctrine:schema:update # Create database schema
  5. php bin/console server:run

Now you can access http://127.0.0.1:8000

Installing on the hosting

When installing application on the hosting you can replicate almost all steps from the previous guide how to install it on the local machine but the last command (server:run) is not recommended to run. You must configure your own webserver. For example our demo is running on nginx and php-fpm. Below we attached our nginx configuration and some other guides how to install symfony application

Demo Content - top

  1. Locate the Symfony project root
  2. php bin/console doctrine:query:sql "`cat database.sql`"Import database.sql into your database

Application Configuration - top

Below you can see example configuration YAML snippet for Directory Platform application. Everything what you have to do is to just copy this snippet into app/config/config.yml and change the attributes.

app:
    project_name: 'Directory Platform Project'
    currency: 'USD'
    email_from: 'info@example.com'
    payments:
        pay_for_featured:
            enabled: true
            price: 9.99
            duration: 14 # No. of days, 0 is unlimited
        pay_for_publish:
            enabled: true
            price: 29.99
            duration: 30 # No. of days, 0 is unlimited
    gateways:
        wire:
            enabled: true
            id: 'wire'
            name: 'Wire Transfer'
        paypal:
            enabled: true
            id: 'paypal'
            name: 'PayPal Express Checkout'
    invoicing:
        full_name: 'Company Full Name'
        reg_no: 'Registration Number'
        vat_no: 'VAT Number'
        street: 'Street / P.O.Box'
        postal_code: 'Postal Code'
        city: 'City'
        country: 'Country'
        bank_name: 'Your Bank Name'
        bank_account: '123456789'
        bank_iban: 'IBAN123456789'
        bank_swift: 'ABCDEFG'
        bank_code: '4321'
        notice: 'Nullam rutrum nec lectus a maximus. Mauris eget turpis in sapien blandit tincidunt. Proin a neque interdum.'
        constant_symbol: '0308'
        days_due: 14

Nginx Configuration - top

server {
    listen 80;
    listen [::]:80;

    server_name YOUR_DOMAIN_HERE; # example: example.com
    root PATH_TO_SYMFONY_WEB_FOLDER; # example: /home/my-project/public_html/directory-platform/web
    index index.php;
    client_max_body_size 20M;

    location / {
        try_files $uri /app.php$is_args$args;
    }

    location ~ ^/app\.php(/|$) {
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;
        internal;
    }

    location ~ \.php$ {
        return 404;
    }
}

Importing sample database content