708cbeead8
- Add @e2e test layer: real app in broker iframe via Playwright - Fix broker redirect: conditional auto-init only when inside iframe - Fix seed data flash: empty data during 'connecting' phase - Fix Gallery button in iframe: explicit navigate instead of history.back - Add auth e2e feature scenarios and step definitions - Update docs: bdd-testing, data-layer-testing, data-layer, AGENTS.md - Add decision record for conditional NG init approach Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
51 lines
2.1 KiB
Markdown
51 lines
2.1 KiB
Markdown
# Festipod
|
|
|
|
Prototyping tool for a mobile festival/event app — mockup screens, user stories, and BDD specs.
|
|
|
|
## Two Apps in One
|
|
|
|
| Layer | Tech | Purpose |
|
|
|-------|------|---------|
|
|
| **Festipod App** (mockups) | React + sketchy components | 16 mobile screens with hand-drawn UI |
|
|
| **Prototyping Tool** (shell) | React + Tailwind/Shadcn | Gallery, demo viewer, BDD specs browser |
|
|
|
|
## Architecture
|
|
|
|
Feature-based: code organized by business domain, not technical layer. See [architecture](.project/knowledge/architecture.md).
|
|
|
|
```
|
|
src/modules/{event,user,home,auth,workshop,meeting,notification}/
|
|
src/shared/ # Components, context, data — importable by all modules
|
|
src/app/ # Prototyping tool shell
|
|
src/screens/index.ts # Screen registry
|
|
```
|
|
|
|
## Data Layer
|
|
|
|
NextGraph (P2P/local-first) with SHEX shapes and ORM. See [data-layer](.project/knowledge/data-layer.md).
|
|
|
|
## BDD Testing
|
|
|
|
Multi-layer Cucumber/Gherkin in French. See [bdd-testing](.project/knowledge/bdd-testing.md).
|
|
|
|
`@data` scenarios test data operations through the real NextGraph broker. `@e2e` scenarios test the real app UI in the broker iframe. Both use Playwright. See [data-layer-testing](.project/knowledge/data-layer-testing.md).
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
bun run dev # Dev server with HMR (port 3000)
|
|
bun run build # Production build to dist/
|
|
bun run test:cucumber # Run all BDD tests
|
|
bun run features:parse # Regenerate features.ts from .feature files
|
|
bun run steps:extract # Extract step definitions for tooltips
|
|
bun run build:orm # Regenerate ORM from SHEX shapes
|
|
```
|
|
|
|
## Documentation
|
|
|
|
- [Architecture](.project/knowledge/architecture.md) — module structure, import rules, app shell
|
|
- [Data Layer](.project/knowledge/data-layer.md) — NextGraph, shapes, context, seed data
|
|
- [BDD Testing](.project/knowledge/bdd-testing.md) — Cucumber setup, step layers, feature files
|
|
- [Screens](.project/knowledge/screens.md) — screen inventory, registry, sketchy components
|
|
- [Data-Layer Testing](.project/knowledge/data-layer-testing.md) — real broker testing, wallet setup, Playwright harness, e2e layer
|