Feature: Project Detail Pages (/projects/[slug])
Purpose
- Feature name: Project detail pages (
/projects/[slug])
- Why this feature exists: Provide a single page where reviewers can validate evidence for a specific project.
Scope
In scope
- project metadata (title, summary, repo/demo links)
- evidence badges and evidence grid
- verification checklist for gold-standard project(s)
Out of scope
- global navigation and layout shell
- registry data entry and validation
- project registry populated with valid slugs and evidence URLs
- docs base URL configured for evidence links
- optional
NEXT_PUBLIC_SITE_URL for canonical metadata
Procedure / Content
Feature summary
- Feature name: Project detail pages (
/projects/[slug])
- Feature group: Core pages and reviewer journey
- Technical summary: Generates static project pages from registry data with ISR revalidation and evidence components.
- Low-tech summary: A project page that shows the proof and how to verify it.
Feature in action
- Where to see it working:
/projects/portfolio-app or any valid slug in the deployed app.
Confirmation Process
Manual
- Steps: Open a project detail page, confirm badges, evidence links, and repo/demo links.
- What to look for: Evidence cards render correctly, links resolve, and invalid slugs return 404.
- Artifacts or reports to inspect: Playwright E2E route coverage and metadata checks in CI.
Tests
- Evidence cards render empty due to missing registry fields.
- Metadata uses incorrect canonical URLs.
- Slug routing fails and returns 404 for valid projects.
Long-term maintenance notes
- Keep evidence URLs synchronized with documentation changes.
- Update gold-standard checklist if governance changes.
- Next.js App Router
- React
- Tailwind CSS
Source code references (GitHub URLs)
ADRs
Runbooks
Additional internal references
External reference links
Validation / Expected outcomes
- Valid project slugs render complete evidence blocks.
- Invalid slugs return a 404 page.
Failure modes / Troubleshooting
- Evidence missing: update registry data and revalidate.
- Incorrect metadata: verify
NEXT_PUBLIC_SITE_URL and rebuild.
References