Industry · 3 min read

    RFID tracking with Node.js, SQL Server and IIS

    A small device API that turns noisy RFID reads into clean, auditable records — de-duplication, idempotency and hosting inside a Windows plant network.

    By Nishant Sonawala, Founder, SICI TechnologiesPublished
    Short answer

    For an RFID tracking system, we built a small device API in Node.js that receives tag reads from RFID readers, validates them, and writes them to Microsoft SQL Server through stored procedures, hosted on Windows under IIS. Keeping the device layer separate from the business application means readers, apps and reports can change independently, and every read is stored, validated and auditable.

    The architecture

    1. RFID readers at gates or stations read tags and post the readings to the device API.
    2. The device API (Node.js) authenticates the reader, validates the payload and removes duplicate reads.
    3. Stored procedures in SQL Server record each read and update the item's current location or status in one transaction.
    4. The business application — dashboards, reports, mobile apps — reads from the same database through its own API.

    Why a separate device API

    Readers are chatty and unforgiving. They send bursts of the same tag, retry when the network drops, and can't wait for a slow web application. A small, dedicated API whose only job is to accept, check and store reads keeps that traffic away from the user-facing application, and lets the hardware side and the business side evolve separately.

    Handling real-world reads

    • De-duplication: the same tag can be read many times in a second; reads inside a short window from the same reader are collapsed into one event.
    • Idempotency: readers retry on timeouts, so each post carries an identifier and repeated posts are ignored.
    • Unknown tags: reads of unregistered tags are stored separately for review instead of being dropped.
    • Clock drift: reader timestamps are kept alongside server time, so events can be ordered even when reader clocks wander.
    • Health: the API records when each reader last checked in, so a silent reader is noticed quickly.

    Why SQL Server and stored procedures

    Many industrial clients already run SQL Server for ERP and accounting. Putting tracking data in the same place makes reporting straightforward. Stored procedures keep the data rules in one place — what counts as a valid move, which status follows which — so the device API, the dashboard and any future app all behave the same way.

    Hosting on IIS

    The client's standard was Windows Server with IIS, so the Node.js API runs under IIS rather than on a separate Linux host. That keeps it inside the client's existing backup, monitoring and security setup, and close to the database on the same network.

    Where this pattern fits

    • Material and work-in-progress tracking between plant stations.
    • Asset and tool tracking in stores and maintenance.
    • Vehicle and gate entry logging.
    • Attendance or access events from RFID cards.

    Connecting RFID readers, scales or sensors to your business software? SICI Technologies builds both sides — the device integration and the application.

    Related reading

    Ready to start?

    Send us a one-paragraph brief. We respond within 4 business hours.

    No obligation · NDA on request · We reply within 4 business hours.