Directory Structure

Fresh Webiik application has the following directory structure:

.
.. (this folder must be not accessible from the web)
├── private (this folder must be not accessible from the web)
|   ├── code (your code, autoloaded)
|   |   ├── components (classes and libs that are not controllers)
|   |   ├── controllers (route controllers, namespace Webiik\Controller)
|   |   |   ├── Home.php
|   |   |   ├── P404.php
|   |   |   └── P405.php
|   |   ├── middleware (namespace Webiik\Middleware)
|   |   |   └── Core
|   |   |       ├── LoadTranslations.php (loads translations)
|   |   |       └── SetSecurityHeaders.php (sets basic security headers)
|   |   ├── models (namespace Webiik\Model)
|   |   └── traits (namespace Webiik\Trait)
|   ├── config
|   |   ├── container (definition of services)
|   |   |   ├── models.php
|   |   |   └── services.php
|   |   ├── middleware
|   |   |   └── middleware.php (registration of middleware)
|   |   ├── routes
|   |   |   └── routes.en.php (definition of routes)
|   |   ├── app.php (configuration of app)
|   |   └── resources.php (configuration of services, models and middleware)
|   ├── frontend (templates and assets)
|   |   ├── assets (read the frontend docs in the basics)
|   |   |   ├── build (js build for client and server)
|   |   |   ├── components (UI components)
|   |   |   |   └── meow (React Meow World! component)
|   |   |   |       ├── meow.scss
|   |   |   |       └── meow.tsx
|   |   |   ├── font (css font files)
|   |   |   ├── img (images)
|   |   |   ├── js (js or ts files)
|   |   |   |   ├── _app.ts (app-wide TypeScript file included in webpack.config.js)
|   |   |   |   ├── home.ts (route related TypeScript file included in webpack.config.js)
|   |   |   |   ├── home-iso.ts (route related TypeScript file included in webpack.config.js)
|   |   |   |   ├── polyfills.ts (pollyfils for old browsers, see webpack.config.js and _app.twig for more details)
|   |   |   |   └── screensize.ts (helper for frontend development included in _app.ts)
|   |   |   ├── scss (scss files)
|   |   |   |   ├── _app.scss (app-wide scss file included in app.ts)
|   |   |   |   └── home.scss (route related scss file included in home.ts)
|   |   |   ├── global.d.ts (global helper variable definition)
|   |   |   ├── package.json (NPM file)
|   |   |   ├── postcss.config.js (Webpack's postcss-loader config)
|   |   |   ├── tsconfig.json (TypeScript config)
|   |   |   └── webpack.config.js (Webpack config)
|   |   ├── _app.twig (base Twig template)
|   |   └── home.twig (route related Twig template)
|   ├── tmp (always store all temporary files here)
|   |   ├── components (server-side rendered JS UI components)
|   |   ├── logs (log files, error.log etc.)
|   |   └── session (PHP sessions)
|   ├── translation (files for middleware LoadTranslations)
|   |   └── en
|   |       ├── _app.php (app-wide translations)
|   |       └── home.php (route related translations)
|   └── app.php (initialization of the Webiik application)
├── public (this folder must be accessible from the web)
|   ├── _site ((optional) defaulf folder for static pages generated by webiik/staticpage)
|   ├── assets (static files generated by Webpack)
|   └── index.php
├── .gitignore
└── composer.json