NextGraph integration (WIP), broker banner, and feature-based architecture

- Add NextGraph data layer with @ng-org/orm, SHEX shapes (Event, UserProfile,
  Participation), session management, and FestipodDataContext with dual-mode
  operation (connected via NextGraph or local seed data)
- Add BrokerBanner and NgStatus components showing connection status
- Refactor to feature-based architecture: organize code by business domain
  (event, user, home, auth, workshop, meeting, notification) instead of
  technical layer. Modules only import from shared/, never from each other
- Collocate BDD features and step definitions with their modules: event-specific
  steps in event/steps/, user steps in user/steps/, shared generic steps remain
  in shared/steps/
- Set up multi-layer BDD structure (frontend/backend/e2e steps per module)
- Add project documentation (AGENTS.md, .project/knowledge/)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Sylvain Duchesne
2026-03-11 12:19:45 +01:00
parent c9bc957d2a
commit 901fd659df
128 changed files with 5738 additions and 2885 deletions
+74
View File
@@ -0,0 +1,74 @@
diff --git a/node_modules/@ng-org/orm/.bun-tag-78937f1a8bb90c1e b/.bun-tag-78937f1a8bb90c1e
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/package.json b/package.json
index 33023505142d0c7f1dfe9861e8f2adce15ffa2e0..226fd1f6eff39fc6891d8dd5ac2bade3670cae66 100644
--- a/package.json
+++ b/package.json
@@ -30,36 +30,47 @@
"access": "public"
},
"dependencies": {
- "@astrojs/react": "4.3.0",
- "@astrojs/svelte": "7.1.0",
- "@astrojs/vue": "^5.1.0",
- "@gn8/alien-signals-react": "^0.1.1",
- "@gn8/alien-signals-solid": "^0.1.1",
- "@gn8/alien-signals-svelte": "^0.1.1",
- "@gn8/alien-signals-vue": "^0.1.1",
- "@types/react": "19.1.10",
- "@types/react-dom": "19.1.7",
- "@types/shexj": "^2.1.7",
"alien-signals": "^2.0.7",
- "astro": "5.13.2",
- "install": "^0.13.0",
- "npm": "^11.5.2",
- "prettier-eslint": "^16.4.2",
- "react": "19.1.1",
- "react-dom": "19.1.1",
- "svelte": "5.39.12",
- "vue": "3.5.19",
"@ng-org/shex-orm": "0.1.2-alpha.2",
- "@ng-org/alien-deepsignals": "0.1.2-alpha.3"
+ "@ng-org/alien-deepsignals": "0.1.2-alpha.3",
+ "@types/shexj": "^2.1.7"
+ },
+ "peerDependencies": {
+ "react": ">=18",
+ "react-dom": ">=18",
+ "svelte": ">=4",
+ "vue": ">=3",
+ "@gn8/alien-signals-react": "^0.1.1",
+ "@gn8/alien-signals-svelte": "^0.1.1",
+ "@gn8/alien-signals-vue": "^0.1.1"
+ },
+ "peerDependenciesMeta": {
+ "react": { "optional": true },
+ "react-dom": { "optional": true },
+ "svelte": { "optional": true },
+ "vue": { "optional": true },
+ "@gn8/alien-signals-react": { "optional": true },
+ "@gn8/alien-signals-svelte": { "optional": true },
+ "@gn8/alien-signals-vue": { "optional": true }
},
"devDependencies": {
"@playwright/test": "^1.55.0",
"@types/node": "24.3.0",
"@types/react": "19.1.10",
"@types/react-dom": "19.1.7",
+ "svelte": "5.39.12",
+ "vue": "3.5.19",
+ "astro": "5.13.2",
+ "@astrojs/react": "4.3.0",
+ "@astrojs/svelte": "7.1.0",
+ "@astrojs/vue": "^5.1.0",
+ "@gn8/alien-signals-react": "^0.1.1",
+ "@gn8/alien-signals-svelte": "^0.1.1",
+ "@gn8/alien-signals-vue": "^0.1.1",
"vite": "7.1.3",
"vitest": "^3.2.4",
"typescript": "^5.3.0",
+ "prettier-eslint": "^16.4.2",
"@ng-org/lib-wasm": "0.1.2-alpha.1"
},
"files": [