Draconai Documentation

dd_id_e4f586ff9c
3. App Technical

Architecture: Items

Overview

  • The item system is a two-layer model: a technical layer and a content layer.
  • In the legacy implementation (see - old/dracon), the technical layer is the AutoItemEntity and the content layer is an AbstractItemEntity subclass.
  • Each concrete item type (Thought, Context, Dimension, etc.) has its own entity and table, but shares the same technical layer and services.

Two-Layer Model (Legacy)

Layer

  • Technical layer: - old/dracon/src/Entity/Item/AutoItem/AutoItemEntity.php
  • Shared behavior: access, status, relations, timestamps, version history, etc. via traits.
  • Content layer: - old/dracon/src/Entity/Item/AbstractItemEntity.php and - old/dracon/src/Entity/Item/ItemEntity/*
  • Type-specific fields and behaviors per item type (e.g., ThoughtEntity).

Registry / Aggregation

Registry

  • Legacy registry: - old/dracon/src/Service/Item/AggregationItemService.php
  • ITEM_ENTITY_ARRAY lists all item entities.
  • The service maps entity -> item service for CRUD and access.

Current Status

  • The current /var/www codebase does not implement this item system yet.
  • The legacy design in - old/dracon is the reference for rebuilding.

Next Layer

Next

  • Implementation Notes: implementation_items.md