You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> Dotkernel Admin uses `twig` as Templating Engine.
51
-
> All template files have the extension `.html.twig`.
58
+
## `data` folder
59
+
60
+
This folder is a storage for project data files and service caches.
61
+
It contains these folders:
62
+
63
+
*`cache` - Cache for e.g. Twig files
64
+
*`doctrine` - Database migrations and fixtures
65
+
*`geoip` - Holds the GeoLite2 databases
66
+
*`lock` - Contains lock files generated by [`dotkernel/dot-cli`](https://docs.dotkernel.org/dot-cli/v3/lock-files/)
67
+
68
+
> AVOID storing sensitive data on the repository!
69
+
70
+
## `log` folder
71
+
72
+
This folder stores daily log files.
73
+
When you access the application from the browser, (if not already created) a new log file gets created in the format specified in the `config/autoload/error-handling.global.php` config file under the `stream` array key.
74
+
75
+
## `public` folder
76
+
77
+
This folder contains all publicly available assets and serves as the entry point of the application:
78
+
79
+
*`css` and `js` - Contains the css and js file(s) generated by the webpack (npm) from the assets folder
80
+
*`fonts` and `images` - Contain the font and image file(s) copied by the webpack (npm) from the assets folder
81
+
*`uploads` - a folder that normally contains admin avatar images
82
+
*`.htaccess` - server configuration file used by Apache web server; it enables the URL rewrite functionality
83
+
*`index.php` - the application's main entry point
84
+
*`robots.txt.dist` - a sample robots.txt file that allows/denies bot access to certain areas of your application; activate it by duplicating the file as `robots.txt` and comment out the lines that don't match your environment
52
85
53
-
## `data` directory
86
+
## `src` folder
54
87
55
-
This directory contains project-related data, like cache and file uploads.
88
+
This folder contains a separate folder for each Module.
56
89
57
-
We recommend using the following directory structure:
90
+
These are the modules included by default:
58
91
59
-
*`data/cache` - Location where caches are stored
60
-
*`data/doctrine` - Fixtures and migrations
61
-
*`data/lock` - Lock files generated by [dotkernel/dot-cli](https://docs.dotkernel.org/dot-cli/v3/lock-files/)
92
+
*`Admin` - Contains functionality for managing users with `admin` role; note these are users save in the `admin` database table
93
+
*`App` - Contains core functionality, from authentication, to rendering, to error reporting
94
+
*`Setting` - Contains functionality for saving and reading display settings
95
+
96
+
### Module contents
97
+
98
+
Each Module folder, in turn, should contain the following folders, unless they are empty:
99
+
100
+
*`src/Controller` - Action classes
101
+
*`src/Entity` - Used by database entities
102
+
*`src/Repository` - Entity repository folder
103
+
*`src/Service` - Service classes
104
+
105
+
The above example is just some of the folders a project may include, but they should give you an idea about the recommended structure.
106
+
Other classes the `src` folder may include are `InputFilter`, `EventListener`, `Helper`, `Command`, `Factory` etc.
107
+
108
+
The `src` folder in each Module folder normally also contains these files:
109
+
110
+
*`ConfigProvider.php` - Configuration data for the module
111
+
*`OpenAPI.php` - Detailed descriptions for each endpoint in the OpenAPI format
112
+
*`RoutesDelegator.php` - Module specific route registrations
113
+
114
+
### `templates` folder for modules
115
+
116
+
This folder contains the template files, used for example to help render e-mail templates.
117
+
118
+
> `twig` is used as Templating Engine.
119
+
> All template files have the extension `.html.twig`.
0 commit comments