Articart

Technical Guide


Technical Guide

Server Requirements

As given below.

  • PHP >= 8.0.2
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension
  • Ctype PHP Extension
  • JSON PHP Extension
  • BCMath PHP Extension
  • FileinfoPHP Extension
  • GD Library (>=2.0)
  • Curl
  • MySQL 5.x

 

Frameworks & Library Uses

To make this awesome product below are the libraries used:

PHP

  • php - ^8.0.2,
  • barryvdh/laravel-dompdf - ^2.0.0,
  • fideloper/proxy - ^4.4.1,
  • firebase/php-jwt - ^5.0,
  • fruitcake/laravel-cors - ^2.0,
  • guzzlehttp/guzzle - ^7.2,
  • intervention/image - ~2.5,
  • laracasts/utilities - ^3.2,
  • laravel/framework - ^9.29.0,
  • laravel/helpers - ^1.4.0,
  • laravel/sanctum - ^3.0,
  • laravel/socialite - 5.5.5,
  • laravel/tinker - ^2.7,
  • livelyworks/laravel-yes-authority - ~2.9.11,
  • loilo/fuse - ^6.6,
  • mattkingshott/quest - ^2.0,
  • mews/captcha - v3.2.9,
  • mk-j/php_xlsxwriter - 0.38,
  • phpseclib/phpseclib - 2.0.23,
  • ramsey/uuid - ^4.4.0,
  • stripe/stripe-php - ~7.69.0,
  • vemcogroup/laravel-sparkpost-driver - ^5.0.0,
  • vipsoft/unzip - ~1.3,
  • tom-lingham/searchy - dev-lw-master

 

JavaScript & CSS

  • jquery - ~2.2.4,
  • lodash - 3.10.1,
  • angular - ~1.8.3,
  • angular-sanitize - ~1.8.3,
  • angular-messages - ~1.8.3,
  • angular-animate - ~1.8.3,
  • angular-touch - ~1.8.3,
  • angular-ui-router - 1.0.29,
  • datatables - 1.10.21,
  • datatables-plugins - 1.10.21,
  • datatables-responsive - ~2.2.7,
  • selectize - 0.12.4,
  • angular-selectize2 - 3.0.1,
  • ng-notify - 0.8.0,
  • moment - 2.22.1,
  • ngDialog - 1.4.0,
  • bootstrap -3.3.7,
  • fancytree - 2.37.0,
  • fontawesome - 5.15.4,
  • sweetalert2 - ~7.2.0,
  • angular-loading-bar - 0.9.0,
  • switchery - 0.8.2,
  • ng-switchery - 1.0.0-alpha7,
  • angular-file-upload - 2.6.1,
  • smartmenus - ~1.1.1,
  • jquery-colorbox - 1.6.4,
  • ckeditor - 4.6.2,
  • animate.css - 3.1.0,
  • bootstrap-material-datetimepicker - https://github.com/yesteamtech/bootstrap-material-datetimepicker.git#^2.7.2,
  • masonry - 4.2.2,
  • imagesloaded - 4.1.4,
  • colpick - 2.0.2,
  • jquery.rateit - 1.1.4,
  • codemirror - https://github.com/codemirror/CodeMirror.git#^4.0.0,
  • jquery-expander - 2.0.1,
  • jplayer - ~2.9.2,
  • clipboard - 2.0.6,
  • datatables.net-rowreorder-dt - ^1.2.7,
  • jquery-lazy - 1.7.11

 

File Structure

While development we follow some of our rules to organize the code. For this we have made some changes to the Laravel framework files as follows:

Controllers

By default,Laravel placed all its controllers under Http/Controllersfolder, we have relocated these files to its own modules at App/Yantrana/Components/

File Structure

All of the component code is placed under the folder called Yantrana under the app folder. This folder contains folders:

  • __Laraware –a files contains a core files for the various classes which mostly extends laravel classes& helper, which are restricted to change while development.
  • Core – is also contains the base files for for various classes which mostly extended using __Laraware classes.
  • Middleware – contains various middlewares for the application.
  • Routes – contains the routes files.
  • Support –contains various & common helpers & classes.
  • Components – This is main folder which contains all the business logic in to its own modules as follows:
    • __igniter.php – gateway controller.
    • Component Folder

Each component has its own folder structure as follows:

  • Models – Containsall the model files.
  • Controllers – contains all the controller files.
  • Repositories – contains all the repositories which treated as data-layer.
  • Requests – contains the request files mostly for forms.
  • Blueprints – contains the interface files for required classes.
  • Engine.php – Its treated as most file for the component

Each component can have multiple sub components.

Dist Folder

This folder contains all the frontend related files like JS, CSS etc

In the CSS & JS folder you will find files named like: application.min.js, vendor-manage.cssetc.

For the application 2 types of files are there one is minified (.min) & other one is normal non minified files (.src). By default application uses .minfiles & called in to below named views which are placed underresources/viewsusing __yessethelper functions, which dynamically finds the files on given file named& path contains*.

  • public-master.blade.php
  • manage-master.blade.php
  • includes/head-content.blade.php
  • includes/foot-content.blade.php

Tip: non vendor Js files contains the angularjs controllers, services etc.

media_storage

This folder stores all the static media of the files like images etc.

__protected-files

This folder will store all your download files.

vendor-public

folder contain frontend static dependency files.

For the most other things you can consider Laravel PHP Framework documents at below link: https://laravel.com/docs/5.4

 

Verify Installation

Now you can test your installation at http://yourdomain.com/verify-install if shows any problems fix it.
Please do not forgot to delete verify-install.php ones everything is ready.

If everything is fine it may show like below result.

Emails

For the various action & alerts system uses email by default it uses php mail function as driver you can change it using .env.php file or as of Articart 1.5.0.0 you can manage these settings from Admin section.

For more information on driver settings please refer tohttps://laravel.com/docs/5.7/mail

 As of Articart1.5.0. you can manage email template views from Admin Section.

 

Please Note

There is certain information you should aware of.

  1. System cache (ServerSide) some queries (Store settings, All Categories etc.)for better performance if you think you have made some changes to database directly, please consider deleting foldersatstorage/frameworkcache.
    1. If you want to disable these query cache you need to set setENABLE_DB_CACHE=falsein the .env.php file.
  2. If you set APP_DEBUG=truein the .env.php file.the system also logs lot of information in to the Browser’s Console panel for debugging, so please keep itfalse for the production uses.
     
  3. When the APP_DEBUG=falsein the .env.php file. the page’s markup automatically minified
     
  4. Email are sent in English Only.
     
  5. If you want to test PayPal using sandbox account,you need to set APP_USE_PAYPAL_SANDBOX =truein the .env.php file.

 

  1. If you want to test Stripe using test keys, you need to set STRIPE_TEST_MODE =true in the .env.php file.

 

Thank You

This information would help you to customize understand application better

Once again thank you so much for purchasing this product. I would be glad to help you if you have any questions relating to this product. No guarantees, but I will do my best to assist.

We have small team of Designer & Developers, here are some of the Great tools and technologies we use day2day for the development: HTML5, CSS3, jQuery, PHP, Laravel, AngularJS etc.

we also build iOS & Android Application.

If you need any Customization Work / Support on this Product or having any project for us.  Please feel free to email us at [email protected]

 

Thank You &Good Luck