WhatsJet Technical Guide 5.5.0
WhatsJet Technical Guide 5.5.0
The WHATSJET development team uses a variety of tools and technologies including HTML5, CSS3, jQuery, PHP, Laravel, and Flutter. HTML5 and CSS3 are foundational for creating responsive and semantically structured webpages. jQuery complements these with advanced client-side scripting capabilities. PHP and Laravel are used for robust backend development, offering a powerful framework for managing databases and server-side logic. Flutter enables cross-platform mobile application development, providing a cohesive interface for iOS and Android, allowing for broad reach and intelligent sharing of business logic .
In WHATSJET, the 'public/dist' folder contains all frontend files, including JavaScript and CSS. These files are available in minified and non-minified formats, with the application defaulting to the minified versions for performance optimization. The 'media-storage' folder stores all uploaded media files, serving as the default storage location unless alternative configurations are specified .
WHATSJET features include APP_DEBUG toggling in the '.env' file, which, when enabled (APP_DEBUG=true), logs a significant amount of debugging information to the browser's console. In a production environment, APP_DEBUG should be set to false as its true setting can expose sensitive data and increase security risks. Additionally, enabling APP_DEBUG=false also ensures that the page's markup is automatically minified for better performance .
In WHATSJET, security in form submissions is enhanced by encrypting sensitive information like usernames and passwords using OpenSSL before transmission to the server. When a form has the attribute 'data-secured=true', form inputs are encrypted client-side with OpenSSL and decrypted server-side. This ensures that sensitive data is secure during transmission .
The modified Laravel framework in WHATSJET is structured to accommodate multiple components and subcomponents by placing each business logic module under its own folder within 'Yantrana/Components'. Each component has its dedicated folders for 'Models', 'Controllers', 'Repositories', 'Requests', and 'Blueprints', allowing for modular code organization. The 'Engine.php' file is particularly significant, encapsulating crucial component functionalities. This component-based file structure helps in efficiently managing business logic separate from presentation and data access layers .
During the development of WHATSJET, the developers follow specific rules for organizing code which entails modifications to the Laravel framework files. The component code is placed under the 'Yantrana' folder within the 'app' directory. This folder houses several other subfolders: '__Laraware' for core files extending Laravel classes, 'Base' for base class files, 'Support' for common helpers, 'Services' for required service classes, and 'Components' for the main business logic divided into modules. Each component's structure includes its own 'Models', 'Controllers', 'Repositories', 'Requests', and 'Blueprints', which impacts the standard placement of controllers from 'Http/Controllers' to 'App/Yantrana/Components/'. These changes help in modular handling of business logic .
WHATSJET requires PHP version 8.1.0 or higher, along with several PHP extensions such as OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype, JSON, BCMath, Fileinfo, and GD Library version 2.0 or higher. Additionally, Curl and MySQL version 5.7 or above are necessary for deployment .
In shared hosting environments, to target the public folder without needing the 'public' keyword in the address bar, an .htaccess file with specific rewrite rules must be created. This file is placed in the base folder (parent of the public folder) and contains code to rewrite requests to the public directory, effectively hiding the 'public' keyword from URLs .
To alter email functionalities in WHATSJET, you can modify the '.env' file to change the email driver from the default PHP mail function to another preferred driver. The primary email view templates are stored in the 'resource/views/email' folder, with the main view located in 'resources/views/emails/index.blade.php', from which headers and footers can be managed .
To modify the homepage in WHATSJET, you need to edit the 'outer-home.blade.php' file located in the 'resources/views' folder. This file directly handles the layout and content of the homepage .