Open-source catalog for MSP edge hardware — Peplink, Starlink, and Fortinet. Search by SKU, compare specs side-by-side, export BOMs, and keep a per-browser site brief while you explore stacks.
Source: github.com/dadishimwe/product-view
- Typed product catalog (
src/data/catalog/) — no database - Compare up to four devices · CSV / Markdown / print PDF
- Share links — product or compare URL with an optional note for recipients (
?m=…on the link) - Command palette (⌘K) · favorites & recent views in
localStorage - Site brief — requirements checklist with multi-device links
- SEO: sitemap, product metadata, JSON-LD, favicon, and social preview images (per product + compare)
Created by Dadi Ishimwe (@dadishimwe). Built with Cursor.
npm install
npm run devOpen http://localhost:3000.
Set these on your host (e.g. Vercel → Project → Environment Variables):
# .env.local
NEXT_PUBLIC_SITE_URL=https://your-domain.com
NEXT_PUBLIC_GITHUB_REPO=dadishimwe/product-viewProduction checklist (favicon, WhatsApp/link previews, smoke tests): see docs/PRODUCTION.md (Vercel steps + test list).
Social previews: product pages generate /products/[slug]/opengraph-image; compare links with ?p=slug1,slug2 use /og/compare?p=…. Requires NEXT_PUBLIC_SITE_URL on the deployed site.
- Production, UX polish, credits — phases 4–6 in detail
See CONTRIBUTING.md — spec changes require an official vendor source link in the PR.
- Code of Conduct · Security
- Use Report / request in the site footer or open an issue (bug, wrong spec, new SKU templates)
- Pull requests use the PR checklist for catalog changes
- Fork the repo and create a branch.
- Edit catalog data in
src/data/catalog/— seesrc/data/CATALOG.md. - Run
npm run buildbefore opening a PR. - Use GitHub Issues for bugs and spec corrections.
Product images, slugs, and specs are documented in src/data/CATALOG.md. Prefer official vendor datasheets for spec values; the app resolves datasheet URLs via src/lib/product-links.ts.
MIT — see LICENSE.
Works on Vercel and any Node host that supports Next.js 16. Set NEXT_PUBLIC_SITE_URL to your production URL for canonical links and sitemap.
After publishing the repo, optional but recommended:
- Topics:
msp,peplink,starlink,fortinet,nextjs,hardware-catalog - Labels:
bug,catalog,good first issue(used by issue templates) - Branch protection: require CI (
CIworkflow) onmain - Discussions: enable if you want Q&A separate from issues