Skip to content

Reference source · 0.1.0-dev.11

README.md

website/README.md · Download original file

# OPRP website

This is the actual website project: Next.js App Router, Tailwind CSS and official shadcn/ui components. It displays Convey's OPRP documentation, source references, SDK downloads and status with system light/dark styling and the Convey particle animation.

## Run this project

```sh
npm ci
npm run dev
npm run build
```

## Vercel

Within Convey-Exchange, select Root Directory `protocol/website` and Framework Preset **Next.js**. The project config uses `npm ci --include=dev`, `npm run build` and Output Directory `.next`. Clear any dashboard Output Directory override of `out`, or change it to `.next`. The Next.js adapter reads its build manifests from `.next` and automatically serves the completed static export from `out`; these directories have different roles. Do not copy a manifest into `out` or change Next.js's `distDir` to `out`.

The postbuild check verifies the adapter's route manifest, completed export and documentation pages before a build can succeed. No clinical Host is deployed by this documentation project. `OPRP_SITE_ORIGIN` can supply the production hostname for metadata and sitemap.

## Editable files

- `app/page.tsx`: homepage.
- `app/docs/[slug]/page.tsx`: documentation reader.
- `app/sdks/page.tsx`: SDK downloads.
- `app/status/page.tsx`: implementation status.
- `app/globals.css`: Tailwind and Convey theme tokens.
- `components/ui`: official shadcn/ui components.
- `components/site-header.tsx`: fixed 68-pixel banner, transparent at the top and translucent after scrolling; the tightly framed Convey wordmark links to the main site.
- `components/particle-network.tsx`: animation with preference handling and lifecycle cleanup.

## Refresh protocol content

From the parent protocol directory, run `npm run build:website`. It prepares `content/` and `public/` from the canonical documentation and verified release files, then builds this project. Commit the prepared files with their source changes so a website-only cloud checkout is sufficient. The website prebuild verifies the prepared SHA-256 manifest. Patient records and private development identities are never website inputs.

OPRP original material uses Apache 2.0. Dependencies and copied shadcn/ui components retain their own licenses; see the project notices.

## Sharing previews

`app/opengraph-image.tsx` and `app/twitter-image.tsx` render 1200 × 630 PNG cards during the build. They use the official Convey logo, locally bundled Cairo fonts under the SIL Open Font License, the homepage dark palette and a static network background. No request-time font download or patient data is involved. The `/opengraph-image/preview.png` and `/twitter-image/preview.png` assets work with the static export.

The default sharing origin is `https://oprp.convey.care`. If setting `OPRP_SITE_ORIGIN` in deployment, supply the public hostname that serves this site and its images. Shared documentation, SDK and status pages use their own titles, descriptions and canonical URLs with the same branded cards.