mirror of
https://github.com/Karaka-Management/Organization-Guide.git
synced 2026-01-23 01:38:40 +00:00
68 lines
2.2 KiB
Markdown
68 lines
2.2 KiB
Markdown
# Onboarding: Q&A
|
|
|
|
## General Application Questions
|
|
|
|
**Explain the general structure of the application**
|
|
|
|
* WebApplication -> e.g. Backend/Application -> Modules
|
|
* WebApplication -> e.g. Api/Application -> Modules
|
|
|
|
**Where are the application models e.g. Cache, DataMapper, Routing, Dispatching, ... initialized?**
|
|
|
|
In the respective Application (e.g. Backend/Application)
|
|
|
|
**Draw a general request workflow**
|
|
|
|

|
|
|
|
**Explain the general structure of a module and its purposes**
|
|
|
|
* Admin: Contains routs, installation, update and status change scripts
|
|
* Controller: Contains the different controllers (e.g. BackendController, ApiController)
|
|
* Docs: Contains the dev and user documentation in the different languages
|
|
* Models: Contains the models
|
|
* tests: Contains the tests
|
|
* Theme: Contains the themes (tpl, css, js, language files)
|
|
* .github: Github specific scripts and files
|
|
* Root directory: Mainly contains license, readme, contributing and most importantly the `info.json` file which describes the module requirements. This file is also used during the installation process of the module
|
|
|
|
## Resources
|
|
|
|
**Which frameworks are used for this project?**
|
|
|
|
Only the in-house frameworks (phpOMS, jsOMS, cssOMS, cOMS)
|
|
|
|
**Does the release version (not the development tools) use external / third-party resources?**
|
|
|
|
Yes, although only very few libraries. They can be found in Resources/ and Libraries/.
|
|
|
|
## Code Inspections
|
|
|
|
**How can you check the code style for code you wrote?**
|
|
|
|
* Guidelines
|
|
* Just run the phpcs and eslint dev tool with the provided config
|
|
* run: `Build/Helper/testreport.sh`
|
|
|
|
**How can you check the code quality for code you wrote?**
|
|
|
|
* Guidelines
|
|
* Unit / integration tests (php: PHPUnit, js: jasmine)
|
|
* Static code analysis (phpstan, eslint)
|
|
* run: `Build/Helper/testreport.sh`
|
|
* run: `php -d pcov.enabled=1 vendor/bin/phpunit tests/phpunit_default.xml`
|
|
* It's recommended to run this in the Karaka/* main directory
|
|
* Running this in the main directory will run all tests, also for the submodules (e.g. phpOMS, Modules, ...)
|
|
|
|
**Where are the config files for the different developer tools**
|
|
|
|
* phpcs: Build repository
|
|
* phpstan: Build repository
|
|
* eslint: Build repository
|
|
* PHPUnit: respective repository
|
|
|
|
|
|
|
|
2022-01-01 - Version 1.0
|
|
|