Project folder structure
The project root contains the following folders:
- adminpanel - the project’s admin panel. No changes should be made in this folder, as it is part of the core update process. This folder can be renamed, in which case the 'AdminFolder' parameter in config/setup.php must also be updated for the system to function correctly.
- config - project settings, described in detail in the System settings section. All configurations in this folder can be uploaded to the production server, while local settings for each server should be stored in the .env file.
- core - system core classes, which, along with the admin panel folder (initially adminpanel), form the updatable part of the framework. For manual system updates, download the latest version of these folders and copy them over the old ones.
- customs - extensions for models and the admin panel, with the following subfolders: adminpanel - additional files for the admin panel (more details in the Admin panel extensions section), emails - email templates, i18n - additional language files, models - inclusion files for models in the admin panel, described in the Model setup section.
- extra - system extensions, captcha, additional libraries for installations not using Composer.
- media - project images, CSS, and JavaScript files.
- models - project model classes, described in the General model principles section.
- plugins - project plugin classes, covered in detail in the Plugins section.
- userfiles - user files of the project, including the following subfolders: database - SQLite database and initial MySQL dump, files, images - files uploaded via the visual editor, models - files and model images, tmp - temporary files, cache - internal MV cache.
- views - templates for displaying site pages. When the site has multiple sections, it is recommended to create nested subfolders. More on templates can be found in the Template principles section.
- vendor - when installed via Composer, this folder will contain the MV core and additional packages. The admin panel is automatically copied from the vendor folder to the project root.
- The root of the project also contains index.php, .env, and .htaccess files to launch the application.
Previous section
Installation and launch