Reference for writing query/persistence code in OrangeHRM — the plugin-specific Dao classes that extend OrangeHRM\Core\Dao\BaseDao, the EntityManagerHelperTrait and its 13 methods, the QueryBuilder patterns the codebase uses heavily (joins via relation aliases, $q->expr()->orX/andX/like/concat/in/isNull, conditional…
Reference for defining Doctrine entities in OrangeHRM — the docblock annotation conventions, table-name conventions (ohrm for new tables, hshr for legacy 4.x-imported tables), column types and options, ID strategies, relations (ManyToOne / OneToMany / ManyToMany with mappedBy / inversedBy / cascade / JoinColumn /…
Reference for data flow in the OrangeHRM Vue frontend — the APIService axios wrapper that mirrors backend /api/v2/... routes 1:1, its 401/422 interceptors and ETag-based response caching in prod, the data-loading composables (usePaginate for list endpoints with reactive filter/sort, useSort, useInfiniteScroll), the…