Current Version: Alpha 1.2.26
Production: https://telxids.searchngo.app
More from the developer: https://muhammedgasal.com
TelX Model Numbers is a lightweight web app for managing TelX device model metadata and generating serial numbers + MAC IDs in tracked batches, backed by MongoDB.
- Categories & chipsets
- Manage product categories and allowed types
- Manage chipset reference data used by models
- Models
- Create/update/delete models (category, type, chipset, model number, prefix, TelX model number, description, MACs-per-serial)
- Per-model dashboard with generated + allocated counts
- Identifier generation
- Generate batches (“groups”) of serial numbers and MAC IDs per model
- Global MAC counter + per-model serial continuity
- Region-aware serial prefixing
- Allocation workflow
- Select unallocated groups and mark them allocated in bulk
- Allocation status badges and counts
- Search
- Search across model number, TelX model number, serial number, and MAC ID
- Result grouping for model matches and serial/MAC matches
- Export to Excel
- Export a single group (“modal export”)
- Export the full model history (all groups combined)
- Export cart: collect multiple groups and export as a multi-sheet workbook
- Quality-of-life UI
- Copy serial number / MAC ID to clipboard
- “View all serials” modal for large groups
- Frontend: Vite + React + TypeScript + Tailwind (shadcn/ui)
- Backend: Node.js + Express + MongoDB
- Node.js
>= 18 - A MongoDB instance (local or hosted)
npm installCreate a .env in the project root (or set these in your shell):
# Backend (Express + MongoDB)
MONGODB_URI="mongodb://127.0.0.1:27017"
# Optional (defaults to "texlids" if unset)
MONGODB_DB="texlids"
# Frontend (optional)
# If unset, the frontend uses relative /api requests (works with the dev proxy).
VITE_API_BASE_URL=""Notes:
- The Vite dev server proxies
/apitohttp://127.0.0.1:3001(seevite.config.ts). - In production with a separate API host, set
VITE_API_BASE_URLto that API origin before building.
npm run dev:serverHealth check:
curl http://localhost:3001/api/healthnpm run devOpen:
http://localhost:8080
npm run buildYou still need to run the API server (and MongoDB). For the frontend, you have two options:
Option A: Serve dist/ from the API server (single process)
npm run build
SERVE_CLIENT=true npm run start:serverThen open:
http://localhost:3001
Option B: Serve dist/ separately (static hosting)
Build with the API base URL set to your API origin:
VITE_API_BASE_URL="http://localhost:3001" npm run buildServe dist/ with any static server (or npm run preview) and make sure it can reach the API.
Preview the production build locally:
npm run previewGET /api/categories(CRUD categories + types)GET /api/chipsets(CRUD chipsets)GET /api/models(CRUD models)POST /api/generate(generate serial/MAC groups)POST /api/allocate(mark groups allocated)GET /api/search(search models + generated groups)