The file structure is divided into two independent parts:
When the framework is updated, only the `framework` directory is modified, while the code in `app` remains unchanged.
app/
├── actions/
├── config/
├── cron/
├── modules/
└── schemas/
│ ├── actions/
│ ├── db/
│ ├── objects/
│ └── pages/
│
framework/
├── actions/
├── bootstrap/
├── config/
└── default_schemas/
vendor/
index.php
The `app` directory contains your application code: business logic, configurations, schemas, cron scripts, and modules.
Contains business logic implementations (`before.php`, `custom.php`, `after.php`) executed through the framework's unified execution layer.
Application configuration files. Define environment parameters, system behaviour, and integration settings.
Scheduled application tasks. Contains scripts for background processes executed at predefined intervals.
System modules that can be connected to the application, whether official or custom.
Modules allow the system's functionality to be extended without modifying either the application code or the framework core.
Declarative definitions of system data structures and entities. Used to define objects, databases, actions, and application interfaces.
API action schemas. Define the available object actions, the standard business logic used, and the permissions required to execute actions.
Database schemas. Describe the structure of tables, relationships, and data types used for generating and validating storage schemas.
System object schemas. Define entities, their fields, data types, and structural rules used at the business logic level.
Administrative interface page schemas. Define the structure, components, and data required for generating UI pages.
The framework core. Contains core system logic, standard actions, default schemas, and loading mechanisms. It is updated independently of the application and is not intended to be modified by developers.
The framework's base action directory. Contains standard and system operations used by the core to process requests and execute fundamental logic.
Framework-wide generic operations (`add`, `update`, `remove`, `get`, etc.). These form the base business logic layer reused across all applications.
Framework system actions. Used for core service operations such as schema management, configuration management, event handling, diagnostics, and similar tasks.
The framework initialisation layer. Responsible for sequentially loading the core, dependencies, modules, localisations, and preparing the runtime context for request processing.
Executed from `index.php`, it prepares the environment before request handling begins.
Framework system configurations. Define core settings, runtime behaviour, and internal platform parameters.
Default framework schemas. Contains baseline declarative definitions for actions, objects, databases, and interfaces, used as a fallback when no application-specific schemas are available.
Project Composer dependencies. Contains third-party libraries installed through Composer. This directory is not intended for manual modification.
The application entry point. Receives all incoming HTTP requests and starts the framework initialisation process.