A single-page web application for searching the APRS device identifier database. It fetches the published database from aprs-deviceid.aprsfoundation.org and provides client-side search by tocall (destination callsign), vendor name, or device model.
- Multi-term search — type multiple words (e.g. "yaesu ht") to filter by all terms simultaneously
- Class filter — dropdown to filter by device class (tracker, rig, weather station, etc.)
- Sortable columns — click any column header to sort
- All identifier types — searches across tocalls, Mic-E, and Mic-E Legacy entries
- Responsive — works on desktop and mobile
src/
main.js Entry point
App.vue Root component
composables/useDeviceData.js Data fetching, normalization, search logic
components/
SearchBar.vue Search input + class filter dropdown
ResultsTable.vue Sortable results table
DataInfo.vue Loading/error state, metadata display
assets/style.css All styling
.github/workflows/deploy.yml GitHub Pages deployment
vite.config.js Vite config (base path for GitHub Pages)
Prerequisites: Node.js 20+
npm install
npm run devThis starts a local dev server with hot reload (default: http://localhost:5173/).
npm run buildOutput goes to dist/.
The GitHub Actions workflow (.github/workflows/deploy.yml) automatically builds and deploys to GitHub Pages on every push to main. It uses the modern GitHub Pages artifact-based deployment — no gh-pages branch needed.
The Vite base option in vite.config.js is set to /aprs-deviceid-web/ to match the repository name for correct asset paths on GitHub Pages.
The device database is maintained at aprsorg/aprs-deviceid and licensed under CC BY-SA 2.0.