65 lines
3 KiB
Markdown
65 lines
3 KiB
Markdown
# Handover
|
|
|
|
Build complete. All 11 surfaces built, typecheck and production build pass clean.
|
|
|
|
## What works
|
|
|
|
| Surface | Route | Status |
|
|
|---|---|---|
|
|
| Welcome | `/` | Done — personalised greeting, 6 nav cards |
|
|
| Login | `/login` | Done — email/password, session cookie |
|
|
| Invite redemption | `/invite/[token]` | Done — password set, token validated, auto-login |
|
|
| Vision | `/vision` | Done — verbatim copy from SPEC §2 |
|
|
| Updates | `/updates`, `/updates/[slug]` | Done — reverse-chronological, prev/next nav |
|
|
| Updates RSS | `/updates/feed.xml` | Done |
|
|
| Roadmap | `/roadmap` | Done — 3-column horizons parsed from `content/roadmap.md` |
|
|
| Calendar | `/calendar` | Done — upcoming/past split |
|
|
| Meeting detail | `/calendar/[slug]` | Done — agenda + notes + attendance widget |
|
|
| Contribute | `/contribute` | Done — type filter, sort, +1 reactions, edit link |
|
|
| Edit contribution | `/contribute/edit/[id]` | Done — 10-min window enforced |
|
|
| Preview | `/preview` | Done — restrained copy, no screenshots |
|
|
| Participants | `/participants` | Done — grouped by org, bio shown |
|
|
| Account | `/account` | Done — name + bio edit |
|
|
| Admin | `/admin` | Done — invite generation + user management |
|
|
| Logout | `/api/logout` | Done |
|
|
|
|
## Test credentials
|
|
|
|
```
|
|
mette@ssi.dk / pilot123 (pilot)
|
|
lars@rigspolitiet.dk / cab123 (cab)
|
|
jonathan@fenja.ai / fenja123 (fenja — has admin access)
|
|
```
|
|
|
|
Start the dev server:
|
|
```
|
|
pnpm dev
|
|
```
|
|
|
|
Then visit `http://localhost:4321`. You will be redirected to `/login`.
|
|
|
|
Admin panel is at `/admin` — only accessible to `fenja` role users.
|
|
|
|
## What to review first
|
|
|
|
1. **Login flow** — sign in as each test user, confirm personalisation, confirm admin is blocked for non-fenja
|
|
2. **Contribute feed** — post an idea, react to it, try to edit within 10 min then after
|
|
3. **Calendar** — check attendance widget on the Q2 session (upcoming), check past meeting has notes
|
|
4. **Admin — invite generation** — generate a link, open it in incognito, set a password
|
|
5. **Roadmap** — check pilot-only badge appears on the traceability item
|
|
|
|
## Known gaps / next session
|
|
|
|
- **Fenja replies** on contributions are not yet implemented (the spec calls for them to appear under contributions, typographically distinct). The DB schema has `replies` table and query functions ready.
|
|
- **Attendance visibility** — spec says tally is "shown only to Fenja". Currently visible to all. Easy fix: gate the tally display behind `user.role === 'fenja'`.
|
|
- **Vision page not in nav** — deliberately omitted from the nav links for now. Can add if wanted.
|
|
- **`/style-guide`** — still present at that route for design review; not linked from app nav.
|
|
- **Error pages** — no custom 404 or 500 pages yet.
|
|
- **Mobile layout** — not tested. Nav will overflow on small screens.
|
|
|
|
## Environment
|
|
|
|
Requires a `.env` file with `BIFROST_SECRET=<random-string>` in production.
|
|
Copy `.env.example` to `.env` and fill in the value.
|
|
|
|
Database is `bifrost.db` in the project root (auto-created on first migrate).
|