81 lines
3.7 KiB
Markdown
81 lines
3.7 KiB
Markdown
|
|
# Plan: Demo Seeding, Dev Environment Fix, and Developer Onboarding
|
||
|
|
|
||
|
|
## Context
|
||
|
|
After the repo cleanup (docs/scripts archived to `~/Projects/archy-archive/`), several dev scripts reference deleted files. Additionally, the demo needs better seeding for Portainer showcase, ThunderHub + Fedimint need to be visible, and a new developer needs docs to onboard.
|
||
|
|
|
||
|
|
## Changes
|
||
|
|
|
||
|
|
### 1. Fix broken dev scripts
|
||
|
|
|
||
|
|
**`neode-ui/start-dev.sh`** — Remove lines 72-110 (Docker Desktop check + `start-docker-apps.sh` call). Replace with a one-liner noting mock backend handles simulation.
|
||
|
|
|
||
|
|
**`neode-ui/stop-dev.sh`** — Remove lines 66-74 (Docker container stop block calling `stop-docker-apps.sh`).
|
||
|
|
|
||
|
|
**`neode-ui/package.json`** — Remove the `prebuild` script (line 22) that references archived `../../loop-start.mp3`. File already exists at `public/assets/audio/`.
|
||
|
|
|
||
|
|
**`scripts/dev-start.sh`** — Fix option 2 (Full Stack) lines 67-84 that reference `start-docker-apps.sh`. Guard with a skip message instead of failing.
|
||
|
|
|
||
|
|
### 2. Add ThunderHub (Lightning management UI)
|
||
|
|
|
||
|
|
**Files**: mock-backend.js, Marketplace.vue, appLauncher.ts, new icon SVG
|
||
|
|
|
||
|
|
- Port: **3010** (3000 taken by Grafana)
|
||
|
|
- Docker image: `apotdevin/thunderhub:v0.13.31`
|
||
|
|
- Add to `portMappings`, `marketplaceMetadata`, `staticDevApps`, `marketplace.get()` in mock-backend.js
|
||
|
|
- Add to `getCuratedAppList()` in Marketplace.vue (after LND entry)
|
||
|
|
- Add to `recommended` tier in `getAppTier()`
|
||
|
|
- Add `'3010': 'thunderhub'` to PORT_TO_APP_ID in appLauncher.ts
|
||
|
|
- Create `neode-ui/public/assets/img/app-icons/thunderhub.svg` (Bitcoin-orange lightning bolt icon)
|
||
|
|
|
||
|
|
### 3. Improve Fedimint in demo
|
||
|
|
|
||
|
|
**mock-backend.js**:
|
||
|
|
- Add `fedimint` to `staticDevApps` (pre-installed, running, port 8175)
|
||
|
|
- Update `marketplace.get()` version from `0.4.3` → `0.10.0`
|
||
|
|
- Fix `portMappings.fedimint` from 8174 → 8175 (Guardian UI port)
|
||
|
|
|
||
|
|
### 4. Add realistic notifications
|
||
|
|
|
||
|
|
**mock-backend.js** — Replace empty `node.notifications` with 5 realistic entries: Bitcoin sync, LND channel opened, disk warning, system update, Fedimint guardian connected.
|
||
|
|
|
||
|
|
### 5. Rewrite README for developer onboarding
|
||
|
|
|
||
|
|
**`neode-ui/README.md`** — Full rewrite:
|
||
|
|
- Quick start (npm install, npm start, localhost:8100, password123)
|
||
|
|
- Architecture overview
|
||
|
|
- Dev modes (setup/onboarding/existing/boot)
|
||
|
|
- Mock backend capabilities (8 static apps, 30+ marketplace, WebSocket, FileBrowser API, Claude proxy)
|
||
|
|
- Demo deployment (docker-compose.demo.yml, Portainer, ANTHROPIC_API_KEY)
|
||
|
|
- Design system (glassmorphism classes, tokens)
|
||
|
|
- Build commands
|
||
|
|
- Remove Angular references and outdated sections
|
||
|
|
|
||
|
|
**`neode-ui/DEV-SCRIPTS.md`** — Update "Available Test Apps" section to list the 8 actual static apps, remove Docker apps references.
|
||
|
|
|
||
|
|
### 6. Verify Docker demo build
|
||
|
|
|
||
|
|
Confirm `docker-compose.demo.yml` paths still valid after cleanup:
|
||
|
|
- `demo/aiui/` exists (for Dockerfile.web COPY)
|
||
|
|
- `neode-ui/docker/nginx-demo.conf` exists
|
||
|
|
- `neode-ui/docker/docker-entrypoint.sh` exists
|
||
|
|
|
||
|
|
## Files to modify
|
||
|
|
1. `neode-ui/start-dev.sh`
|
||
|
|
2. `neode-ui/stop-dev.sh`
|
||
|
|
3. `neode-ui/package.json`
|
||
|
|
4. `scripts/dev-start.sh`
|
||
|
|
5. `neode-ui/mock-backend.js`
|
||
|
|
6. `neode-ui/src/views/Marketplace.vue`
|
||
|
|
7. `neode-ui/src/stores/appLauncher.ts`
|
||
|
|
8. `neode-ui/public/assets/img/app-icons/thunderhub.svg` (new)
|
||
|
|
9. `neode-ui/README.md`
|
||
|
|
10. `neode-ui/DEV-SCRIPTS.md`
|
||
|
|
|
||
|
|
## Verification
|
||
|
|
1. `cd neode-ui && npm start` — should start cleanly, no errors about missing scripts
|
||
|
|
2. Visit localhost:8100 → login → Dashboard shows 8 apps (bitcoin, lnd, electrs, mempool, lorabell, filebrowser, thunderhub, fedimint)
|
||
|
|
3. Marketplace shows ThunderHub in Bitcoin category
|
||
|
|
4. Notifications bell shows 3 unread
|
||
|
|
5. `npm stop` — clean shutdown, no errors
|
||
|
|
6. `docker compose -f docker-compose.demo.yml build` — builds successfully
|