LivelyCart 3 PRO
Technical Guide
Technical Guide
Server Requirements
Server Requirements as given below.
- PHP version 7.1.3
- MySQL 5.x
- Fileinfo PHP Extension
- OpenSSL PHP Extension
- PDO PHP Extension
- Mbstring PHP Extension
- Tokenizer PHP Extension
- GD PHP Extension
- JSON PHP Extension
- XML PHP Extension
- ctype PHP Extension
- zip PHP Extension
- Curl PHP Extension
- BCMath PHP Extension
- Curl PHP Extension
Frameworks & Library Uses
To make this awesome product below are the libraries used:
PHP
- laravel/framework - 5.8.*
- barryvdh/laravel-dompdf - ~0.8.3
- fideloper/proxy - ^4.0
- greggilbert/recaptcha - 2.2.0
- guzzlehttp/guzzle - ~6.3.3
- instamojo/instamojo-php - ^0.3.0
- intervention/image - ~2.4.2
- iyzico/iyzipay-php - ~2.0.43
- laracasts/utilities - ~3.0
- laravel/socialite - ~4.0.1
- laravel/tinker - ^1.0
- livelyworks/laravel-yes-authority - ~2.9.7
- mews/captcha - ~2.1.4
- mk-j/php_xlsxwriter - 0.37
- phpseclib/phpseclib - ~2.0
- picqer/php-barcode-generator - ^0.3.0
- razorpay/razorpay - ~2.3.0
- stripe/stripe-php - ~6.30.5
- tom-lingham/searchy - ~2.0.1
JavaScript & CSS
- jquery - 3.3.1
- lodash - 3.10.1
- angular - ~1.7.5
- angular-sanitize - ~1.7.5
- angular-messages - ~1.7.5
- angular-animate - ~1.7.5
- angular-touch - ~1.7.5
- angular-ui-router - 1.0.22
- datatables - 1.10.19
- datatables-plugins - 1.10.19
- datatables-responsive - ~2.2.3
- datatables.net-rowreorder-dt - ^1.2.3
- selectize - 0.12.4
- angular-selectize2 - 3.0.1
- ng-notify - 0.8.0
- moment - 2.23.0
- ngDialog - 1.4.0
- bootstrap - 4.3.0
- fancytree - 2.30.1
- fontawesome - 4.7.0
- sweetalert2 - 7.32.4
- angular-loading-bar - 0.9.0
- jquery-expander - 1.7.0
- switchery - 0.8.2
- ng-switchery - 1.0.0-alpha7
- angular-file-upload - 2.3.4
- smartmenus - 1.1.0
- jquery-colorbox - 1.6.4
- animate.css - 3.7.0
- bootstrap-material-datetimepicker - https://github.com/yesteamtech/bootstrap-material-datetimepicker.git#^2.7.2
- wnumb - 1.1.0
- masonry - 4.2.2
- jquery-lazy - 1.7.10
- colpick - 2.0.2
- owl.carousel - 2.3.4
- cropper - 4.0.0
- bootbox - 4.0.0
- jquery-form - 4.2.2
- codemirror - 5.42.0
- clipboard - 2.0.4
- angularjs-slider - ^6.6.0
- jquery-bar-rating - 1.2.2
- Sortable - sortablejs#^1.8.1
- smartwizard - ^4.3.1
- popper.js - ^1.14.6
- trumbowyg - 2.14.0
- chart.js - ^2.7.2
- jquery-typeahead - ^2.10.6
- drift - 1.3.
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 file as follows:
Laravel File Structure changes
By default, larval placed all its controller, routes, Middleware files under Http folder, we have relocated these files to its own modules called in the system is Component.
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 contain 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 various classes which mostly extended using __Laraware classes.
- Middleware – contains various middlewares for the application.
- 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 – Contains all 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.css etc
Vendor prefix to files shows that it contains the external libraries files.
For the application 3 types of files are there one is minified (.min.*) & other one is normal non minified files (.src.*). By default application uses .min.* files & called in to below named views which are placed under resources/views using __yesset helper functions, which dynamically finds the files on given file name & path contains *.
- public-master.blade.php
- manage-master.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.
vendor-public
folder contain frontend static dependency files for 3rd party server-side library (Laravel File Manager).
For the most other things you can consider Laravel PHP Framework documents at below link: https://laravel.com/docs/5.8
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 for more info see https://laravel.com/docs/5.8/mail
User Tech Config
If you want to update some settings in config/__tech.php then do not edit that file you should use user-tech-config.php to overwrite those array item.
Example
return [
/* character limit
------------------------------------------------------------------------- */
'character_limit' => 30
];