ActivePRO
Technical Guide
Technical Guide
Server Requirements
Server Requirement given below:
- PHP >= 7.2.0
- OpenSSL PHP Extension
- PDO PHP Extension
- Mbstring PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
- Ctype PHP Extension
- JSON PHP Extension
- BCMath PHP Extension
- Fileinfo PHP Extension
- GD Library (>=2.0)
- Curl
- MySQL 5.7 +
Frameworks & Library Uses
To make this awesome product below are the libraries used:
PHP
- guzzlehttp/guzzle - 6.3.3,
- intervention/image - 2.5.0,
- laracasts/utilities - ~3.0.1,
- laravel/socialite - 4.2.0,
- livelyworks/laravel-yes-authority - ~2.9.10,
- ramsey/uuid - ^3.8.0,
- phpseclib/phpseclib - ~2.0,
- firebase/php-jwt - ^5.0,
- mk-j/php_xlsxwriter - 0.37,
- fideloper/proxy - 4.2.1,
- php - ^7.2,
- laravel/framework - ^6.0,
- laravel/tinker - ^1.0,
- laravel/helpers - ~1.1.1,
- vemcogroup/laravel-sparkpost-driver - ^1.0.0
JavaScript & CSS
- @coreui/coreui -^2.1.7,
- @fortawesome/fontawesome-free - 5.8.1,
- Angular - 1.7.8,
- angular-animate - 1.7.8,
- angular-loading-bar - 0.9.0,
- angular-messages - 1.7.8,
- angular-sanitize - 1.7.8,
- angular-selectize2 - 1.2.3,
- angular-ui-router - 1.0.22,
- animate.css - 3.7.0,
- blueimp-file-upload - 9.30.0,
- bootstrap - 4.3.,
- bootstrap-material-datetimepicker - 2.7.2,
- chalk - ^2.4.2,
- chart.js - 2.8.0,
- ckeditor - ^4.11.4,
- clipboard - 1.7.1,
- datatables.net - 1.10.19,
- datatables.net-bs4 - 1.10.19,
- datatables.net-responsive - 2.2.3,
- datatables.net-responsive-bs4 - 2.2.3,
- jquery - ^3.4.1,
- jquery-bootstrap-scrolling-tabs - 2.6.1,
- jquery-colorbox - 1.6.4,
- jquery-colpick - 3.1.0,
- jquery-expander - 1.7.0,
- lodash - ^4.17.15,
- moment - 2.24.0,
- ng-dialog - 1.4.0,
- ng-notify - 0.7.1,
- ng-switchery - 1.0.1,
- perfect-scrollbar - ^1.4.0,
- selectize - ^0.12.6,
- simple-line-icons - 2.4.1,
- sweetalert2 - 7.33.1,
- switchery - 0.0.2,
- codemirror - 5.46.0,
- jquery-ui - 1.12.1,
- fullcalendar - 3.9.0
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/Controllers folder, we have relocated these files to its own modules at App/Yantrana/Components/
File Structure
All 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.
- Base – is also contains the base files for various classes which mostly extended using __Laraware classes.
- Support – contains various & common helpers & classes.
- Services – contains various & common required service 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.
public/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.
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 .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 named & path contains *.
- 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.
For the most other things you can consider Laravel PHP Framework documents at below link: https://laravel.com/docs/6.x
Emails
For some action system uses email by default it uses php mail function as driver you can change it using .env file for more info see https://laravel.com/docs/6.x/mail
System uses resources/views/emails/index.blade.php as main view you can manage header & footer from here. Also, all the email view files are stored in resource/views/email folder.
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 [
//@example
/* character limit
------------------------------------------------------------------------- */
‘character_limit’ => 30,
];
Please Note
There is certain information you should aware of.
- System cache (ServerSide) some queries (settings etc.) for better performance if you think you have made some changes to database directly, please consider deleting folders at storage/ framework cache.
- If you want to disable these query cache you need to set ENABLE_DB_CACHE=false in the .env file.
- If you set APP_DEBUG=true in the .env file. the system also logs lot of information in to the Browser’s Console panel for debugging, so please keep it false for the production uses.
- When the APP_DEBUG=false in the .env file. the page’s markup automatically minified
- Email are sent in English Only.