57 lines
2.8 KiB
Markdown
57 lines
2.8 KiB
Markdown
# GovOPlaN Projects
|
|
|
|
<!-- govoplan-repository-type:start -->
|
|
**Repository type:** module (domain).
|
|
<!-- govoplan-repository-type:end -->
|
|
|
|
`govoplan-projects` owns native project and portfolio identity, goals, status,
|
|
milestones, participants, work structure, and links to project evidence. It is
|
|
the native GovOPlaN project context and the integration target for OpenProject.
|
|
|
|
The runtime module ID is `projects`. The module persists tenant-scoped
|
|
portfolios, projects, and milestones as immutable revisions with optimistic
|
|
concurrency, replay-safe lifecycle events, membership-based restricted access,
|
|
and permission-aware Search indexing. Planning records can retain outcomes,
|
|
benefits, dependencies, capacity assumptions, change impacts, benefit reviews,
|
|
module resource links, and canonical external-system references.
|
|
|
|
The `/projects` workspace provides catalogue, detail, create, and core-field
|
|
editing views. The governed API exposes the complete planning record at
|
|
`/api/v1/projects/objects`. OpenProject transport and synchronization remain in
|
|
Connectors; Projects stores only the native planning object and canonical
|
|
external reference.
|
|
|
|
See [docs/PROJECTS_DOMAIN_BOUNDARY.md](docs/PROJECTS_DOMAIN_BOUNDARY.md).
|
|
The list-detail, editor, state, consequence, and accessibility mapping is in
|
|
[docs/INTERFACE_PATTERN_MIGRATION.md](docs/INTERFACE_PATTERN_MIGRATION.md).
|
|
|
|
## Development
|
|
|
|
```bash
|
|
cd /mnt/DATA/git/govoplan-projects
|
|
PYTHONPATH=src:/mnt/DATA/git/govoplan-core/src \
|
|
/mnt/DATA/git/govoplan/.venv/bin/python -m unittest discover -s tests
|
|
```
|
|
|
|
The module migration is applied through the platform migration runner when the
|
|
module is enabled. Destructive retirement requires the normal snapshot and
|
|
uninstall-guard process because it removes planning history and events.
|
|
|
|
## Git-source WebUI package
|
|
|
|
The repository root exposes `@govoplan/projects-webui` for Git-tagged release
|
|
dependencies. It mirrors the owning `webui/package.json` version, public
|
|
TypeScript/CSS exports and peer requirements, with entry paths under
|
|
`webui/src`. Consumers provide the shared Core/React peers; the facade runs no
|
|
development or install scripts. The source archive contains `webui/src`, this
|
|
README and any repository license file. Run module development checks from `webui/`; Python
|
|
installation remains governed by `pyproject.toml`.
|
|
|
|
Das Repository stellt `@govoplan/projects-webui` am Wurzelpfad für versionierte
|
|
Git-Abhängigkeiten bereit. Version, öffentliche TypeScript-/CSS-Exporte und
|
|
Peer-Anforderungen entsprechen `webui/package.json`; die Einstiegspfade liegen
|
|
unter `webui/src`. Gemeinsame Core-/React-Peers stellt die einbindende Anwendung
|
|
bereit. Die Fassade führt keine Entwicklungs- oder Installationsskripte aus.
|
|
Entwicklungsprüfungen bleiben in `webui/`, die Python-Installation weiterhin in
|
|
`pyproject.toml` definiert.
|