update
This commit is contained in:
7
doc/custom-apps/features.md
Normal file
7
doc/custom-apps/features.md
Normal file
@@ -0,0 +1,7 @@
|
||||
- custom-apps
|
||||
- not shipped with the system; installed on top
|
||||
- same mechanics as core-apps (manifest, router, migrations, events, DI) — loader does not distinguish
|
||||
- typically declared required: false → can be switched off; can declare conflicts_with to prevent incompatible pairs
|
||||
- two categories: optional apps (same team, shipped later) and third-party apps (marketplace, external developers)
|
||||
- planned optional apps (from base.md): wishlist, reviews, coupons / discount engine, product recommendations, multi-vendor, subscriptions
|
||||
- room for growth: app signing / verification, loader version-compat checks, per-app permission declarations, isolated migration namespaces, install/uninstall lifecycle hooks, marketplace registry
|
||||
7
doc/custom-apps/specs.md
Normal file
7
doc/custom-apps/specs.md
Normal file
@@ -0,0 +1,7 @@
|
||||
- manifest.yaml (name, version, depends_on, conflicts_with, required: false, provides)
|
||||
- __init__.py (router: APIRouter, optional on_load() for event handlers / DI registration)
|
||||
- models.py (optional, with own SQLAlchemy Base subclass)
|
||||
- projector.py (optional, redis read-store sync via event handlers)
|
||||
- migrations/ (optional, alembic version files discovered by core migrations orchestrator)
|
||||
- i18n/ (optional, DE/EN strings)
|
||||
- frontend components under frontend/shop and/or frontend/admin (optional)
|
||||
Reference in New Issue
Block a user