app / basic-parts-lib
!

Not installable via adompkg

This app has no published release. adompkg install kyle/basic-parts-lib will not work until a maintainer publishes a tarball with install.sh and uninstall.sh.

See the publishing docs for the package.json schema and tarball layout required to ship this app.

Basic Parts Library v2

Full-featured inventory management for Adom's PnP shop. Tracks 210+ electronic components across SMD resistors, capacitors, inductors, LEDs, ferrites, and specialty parts. Integrated with Mouser/DigiKey/LCSC for live stock + pricing.

v2 Features

Intelligent Matching & Tags (F1)

Auto-derived tags (color, voltage, package family, type, manufacturer) plus user tags. Synonym-aware search: "yellow LED" finds our amber LEDs. Close-match candidates with scored reasons.

Natural Sort (F2)

Engineering-unit-aware sorting: 1pF → 10pF → 100pF → 1nF → 10nF → 100nF → 1uF. Uses SI prefix normalization (p/n/u/µ/m/k/M/G).

InstaPCB API (F3)

POST /api/inventory/bulk-check — batch inventory check shaped for drop-in integration with the InstaPCB quoting engine. Returns stock status, match quality, location, and pricing per line.

Pricing Intelligence (F4)

Tracks historical paid price vs vendor list price. Markup rule chain: part → type → global (default 30%). Computed Adom price breaks at qty tiers [1, 10, 25, 100, 1000] with sticky overrides. GET /api/pricing/quote returns full cost basis + breaks.

API Metrics & Health Dashboard (F5)

Every endpoint call counted with latency + error rate. Three-tab Health modal: Vendors (Mouser/DigiKey/LCSC status), API Calls (sparklines, p95, top consumers), Cache freshness. Thresholds configurable via env.

Service Container (F8)

Runs on a dedicated default-light container with:

  • 2-minute watchdog (git pull + auto-restart)
  • Daily backup → SSH push to vault container
  • Weekly tier-2 backup → private GitHub repo
  • Daily org-orphan check (alerts if container owner leaves org)
  • Google Chat alerts for backup failures

Architecture

  • Runtime: Node.js + better-sqlite3 (WAL mode)
  • Frontend: Vanilla JS, single index.html (~3500 lines)
  • API: 25+ endpoints under /api/inventory/*, /api/pricing/*, /api/admin/*
  • Data: SQLite with 12 tables, ~560 KB

Live URL

https://inventory-2w8z8d9ojzzl.adom.cloud

Demo Video

See attached video walkthrough (44s) covering all v2 features.