Repository navigation
docs: sync landing page with current Marreq SPA (traceability, matrix filters, reports, API) #1
Description
Summary
Audit of ReqMan_webpage / MarreqSW.github.io landing site (index.html) against the current Marreq application and in-repo docs (MarreqSW/Marreq).
The site is mostly aligned with Marreq (React SPA, namespace routes, groups, comments, baselines, MCP, semantic search, 3-crate backend). Several areas are incomplete, slightly wrong, or missing newer UI features shipped in the main repo.
Upstream reference: Marreq README, docs index, HTTP API contract, in-app Help page.
What is already in good shape
- Product description: Rust/Rocket/PostgreSQL, marreq-server vs marreq-cloud
- Core features: multi-project, requirements/verifications, matrix, reviewers, comments, version diff, baselines, approval workflow, MCP modes
- Groups mentioned (feature list)
- Quick Start:
docker compose,marreq-core/scripts/db_setup.sh,cargo run -p marreq-server, Vite on:5173, Docker SPA on:8080 - User manual: namespace routes like
/{namespace}/{project-slug}/requirements - Screenshot script uses
/alice/space-projectand/catalog/categories - Links to Marreq GitHub, INSTALL.md, MCP setup, etc.
High priority — add or fix (user-facing gaps)
1. Traceability graph page (major omission)
Marreq has a dedicated SPA route /traceability with two subtabs:
- Coverage — requirement ↔ verification (React Flow, suspect links)
- Hierarchy — parent ↔ child links (requirements + verifications)
Documented in-app on HelpPage.tsx, but landing User Manual only describes the table matrix (/matrix), not the graph.
Update: New manual subsection under Traceability:
- Route:
/{namespace}/{project-slug}/traceability - Subtabs Coverage / Hierarchy
- Double-click nodes to open detail
- Hierarchy filter
?kind=(requirements / verifications / both) - Resizable canvas (drag bottom handle; height persisted per project/view)
Screenshots: Add traceability-coverage.png, optionally traceability-hierarchy.png.
2. Matrix filters (new SPA features)
MatrixPage.tsx supports:
- Status groups (pass/complete, verified, pending, fail/reject, draft, other)
- Requirement status multi-select
- Verification status multi-select
- Existing search / suspect-only / column sort
Update: Expand “Traceability Matrix” manual + feature bullet.
3. Reports SPA page (underdocumented)
Route: /{namespace}/{project-slug}/reports
In-app sections: Coverage, Matrix, Data quality, Workflow, Baseline diff, plus links to classic .xls exports.
Update: Add User Manual section for Reports; clarify SPA analytics vs classic Excel downloads.
4. Project Settings and Catalog
Current SPA routes:
| Route | Purpose |
|---|---|
.../settings |
Members, project reviewers, permissions |
.../catalog/categories |
Categories |
.../catalog/applicability |
Applicability |
.../catalog/requirement-statuses |
Requirement statuses |
.../catalog/verification-statuses |
Verification statuses |
.../catalog/custom-fields |
Custom fields |
.../catalog/verification-methods |
Verification methods |
Landing page still reads like separate “categories/applicability pages” without the catalog hub or Settings for reviewers.
Update: Document catalog routes; document Settings for reviewers (partially in features, not in manual).
5. Groups — feature only, no manual
Features list has one Groups bullet; no user manual for:
/groups,/groups/new,/groups/:id, members, roles (Owner/Maintainer/Contributor/Viewer)
Update: New “Groups” manual section + optional screenshot.
6. Import section is misleading
Landing page says Excel import via “project import flow” in the Web UI.
In the React SPA, bulk Excel / ReqIF import is still classic-only (see Marreq HelpPage.tsx: “ReqIF import/export, bulk Excel import … remain classic-only”).
Update: Split Import into:
- SPA: no bulk import (today)
- Classic UI: Excel, ReqIF, bulk flows
7. Comments on approved versions
Landing page says add-comment form is hidden when version is approved and lock is on. Backend supports LOCK_APPROVED_VERSION_COMMENTS; React edit UI behavior should be verified and docs aligned with actual SPA.
8. Cloud mode auth (missing from landing page)
Marreq cloud binary adds:
/register,/verify-email,/forgot-password,/reset-passwordGET /api/meta/deploymentdrives login UI
Quick Start focuses on marreq-server + alice only.
Update: Short “Deployment modes” box: server vs cloud, self-registration, email verification.
Medium priority — API reference on index.html
The API section is useful but incomplete vs Marreq docs/developer/http-api-contract.md.
Add or expand:
| Area | Examples |
|---|---|
| Session auth | GET /api/auth/csrf, POST /api/auth/login, POST /api/auth/logout, GET /api/auth/me |
| Meta | GET /api/meta/health, GET /api/meta/deployment |
| Dashboard / routing | GET /api/dashboard, GET /api/project-from-path/{namespace}/{slug} |
| Projects | GET /api/projects, POST /api/projects |
| Reviewers | GET/PUT /api/projects/{id}/reviewers |
| Groups | Full /api/groups/... CRUD + members |
| Activity | Requirement/verification activity endpoints |
| Cloud-only auth | register, verify-email, forgot/reset password |
Fix examples block:
curl http://localhost:8000/api/requirements— needs session or Bearercurl -O http://localhost:8000/requirements.xls— classic HTML route, not/api; needs session- Prefer linking to http-api-contract.md instead of stale curls
Medium priority — screenshots & capture tooling
Gallery today: dashboard, requirements, matrix, requirement-detail, verifications, categories.
Missing captures:
- Traceability graph (Coverage / Hierarchy)
- Baselines list or detail
- Reports
- Matrix with filters visible
- Groups
- Settings (reviewers)
- Login (optional)
Stale paths in screenshots/README.md and scripts/capture-screenshots.js comments:
./backend/scripts/db_seed.sh→./marreq-core/scripts/db_setup.sh --seedcargo run -p marreq→cargo run -p marreq-server
Extend CAPTURES in scripts/capture-screenshots.js, e.g.:
{ name: 'traceability', url: `${PROJECT_BASE_PATH}/traceability`, ... },
{ name: 'baselines', url: `${PROJECT_BASE_PATH}/baselines`, ... },
{ name: 'reports', url: `${PROJECT_BASE_PATH}/reports`, ... },Lower priority — polish & consistency
| Item | Issue |
|---|---|
| Help page | Exists at .../help in SPA; not mentioned on landing site |
| Technology stack | Could name workspace crates: marreq-core, marreq-server, marreq-cloud |
| License | Footer says “open source”; Marreq is AGPL-3.0-or-later — link LICENSE explicitly |
| Planned upstream | SSO (#214), dual-artifact versioning (#213) on Marreq — not for landing page until shipped |
Implementation checklist
User Manual (index.html)
- Traceability graph (
/traceability, Coverage/Hierarchy, resize,?kind=) - Matrix filters (status groups + req/ver status chips)
- Reports SPA
- Settings + Catalog routes
- Groups (
/groups/...) - Help page
- Correct Import (classic vs SPA)
- Cloud vs server login/registration
Features section
- Traceability graph + resizable canvas
- Matrix advanced filters
- In-app Reports dashboard
- Project catalog management in SPA
API Reference
- Auth + meta + dashboard + groups + reviewers
- Fix curl examples or replace with link to http-api-contract
Screenshots
- Refresh script + README paths
- Add new captures (traceability, baselines, reports, …)
Resources
- Link to Marreq
docs/user-manual/user-manual.mdanddocs/developer/http-api-contract.md
Files likely touched
index.htmlscripts/capture-screenshots.jsscreenshots/README.md- Optionally
README.md
Activity