Archive roadmap and requirements to milestones/v1.0-*. Evolve PROJECT.md with validated requirements and decisions. Reorganize ROADMAP.md with milestone grouping. Delete REQUIREMENTS.md (fresh for next milestone). Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
2.5 KiB
2.5 KiB
Requirements Archive: v1.0 Member Notes System
Archived: 2026-02-13 Status: SHIPPED
v1 Requirements — All Shipped
Note Creation
- NOTE-01: Admin can add a text note to any member inline from the member list — Phase 2
- NOTE-02: Each note stores text content, author (current user), and creation datetime — Phase 1
- NOTE-03: Note submission uses AJAX (Axios) with CSRF protection — no page reload — Phase 2
Note Display
- DISP-01: Each member row shows a note count badge indicating number of notes — Phase 2
- DISP-02: Clicking the badge expands an inline panel showing full note history (newest first) — Phase 3
- DISP-03: Each note displays author name and formatted datetime — Phase 3
- DISP-04: Notes can be filtered/searched by text content within a member's note history — Phase 3
Data Layer
- DATA-01: Notes use polymorphic relationship (
notable_type/notable_id) — Phase 1 - DATA-02: Migration includes proper indexes for member lookups and chronological ordering — Phase 1
- DATA-03: Member list uses eager loading (
withCount('notes')) to prevent N+1 queries — Phase 1
Access & Audit
- ACCS-01: All admin roles can view and write notes (reuses existing
adminmiddleware) — Phase 1 - ACCS-02: Note creation is logged via
AuditLogger::log()— Phase 1 - ACCS-03: Dark mode fully supported on all note UI elements — Phase 2
UI/UX
- UI-01: All UI text in Traditional Chinese — Phase 2
- UI-02: Note quick-add works correctly across paginated member list pages — Phase 2
- UI-03: Alpine.js manages inline state (expand/collapse, form submission, loading states) — Phase 3
Traceability
| Requirement | Phase | Status |
|---|---|---|
| NOTE-01 | Phase 2 | ✓ Shipped |
| NOTE-02 | Phase 1 | ✓ Shipped |
| NOTE-03 | Phase 2 | ✓ Shipped |
| DISP-01 | Phase 2 | ✓ Shipped |
| DISP-02 | Phase 3 | ✓ Shipped |
| DISP-03 | Phase 3 | ✓ Shipped |
| DISP-04 | Phase 3 | ✓ Shipped |
| DATA-01 | Phase 1 | ✓ Shipped |
| DATA-02 | Phase 1 | ✓ Shipped |
| DATA-03 | Phase 1 | ✓ Shipped |
| ACCS-01 | Phase 1 | ✓ Shipped |
| ACCS-02 | Phase 1 | ✓ Shipped |
| ACCS-03 | Phase 2 | ✓ Shipped |
| UI-01 | Phase 2 | ✓ Shipped |
| UI-02 | Phase 2 | ✓ Shipped |
| UI-03 | Phase 3 | ✓ Shipped |
Coverage: 16/16 requirements shipped (100%)
Archived: 2026-02-13