Menu
Start a project

Product

BassmaPro: fingerprint and RFID attendance platform

An attendance and access platform for schools, companies, hospitals and organisations. The terminal is one component of it; the platform, the API, the dashboard and the mobile applications are the product.

Status: Platform in development. The terminal is at the specification stage.

Abstract drawing of a threshold: a doorway with an arrow approaching it and another leaving, standing for an attendance event crossing the terminal.

The problem

Attendance is still recorded on paper in a great many schools and workplaces, or in a spreadsheet copied from a register once the day is over. The record arrives late, it is hard to audit, and the person who most wants it, a parent waiting to know a child arrived, never sees it at all.

Systems that do exist tend to stop at the door. They record an entry and leave the rest to somebody else: no notification, no dashboard worth using, no way to tell whether a terminal in another building is even switched on.

How it works

A student or an employee arrives and identifies themselves at the terminal by fingerprint or by RFID or card. The terminal records the event locally, so an interruption in connectivity does not lose an arrival, and syncs it to the backend when the network is available. The backend processes the event, updates the attendance record, and pushes a notification to the parent's application in real time. Administrators see the same event in the dashboard.

The same flow serves employee attendance without a second system: the entities change, the path does not.

  • Arrival at the terminal, identified by fingerprint or by RFID or card
  • The event is recorded on the device, and queued if the network is unavailable
  • The event syncs to the backend and is processed once, even if it is retried
  • The parent or manager application receives a notification
  • The administrator sees attendance and device state in the dashboard

What the platform holds

The data model covers the organisations that use the system and the people inside them: schools, businesses and organisations; students, employees and parents; devices and their status; attendance events; and notifications. Every record belongs to an organisation, and the API checks that the caller belongs to it before returning anything.

Device monitoring

A fleet that cannot be inspected remotely is a fleet that gets visited. Each terminal reports memory and processor use, temperature, active status, last activity and connectivity, so a device that is drifting is visible before it stops. Configuration is managed centrally rather than per unit.

The planned terminal

The device is specified as an AOSP Android terminal with a touchscreen, 4G, Ethernet and Wi-Fi connectivity, a professional enclosure, remote device management and centralised communication with the platform, built for industrial deployment. It is at the specification stage. NextWR writes the software; the hardware is not manufactured here.

Six stages in order: arrival at the terminal, the event recorded on the device, the event synced to the backend, the backend processing it, a notification reaching the parent application, and the record appearing in the administrator dashboard.

Arrival: fingerprint or card at the terminal
Event recorded on the device, queued if offline
Event synced to the backend
Backend processes the event once
Parent application receives a notification
Administrator sees attendance and device state
The attendance flow. Every stage is software: the terminal decides what to do offline, the backend records the event once, and the notification is derived from the record rather than sent alongside it.

Architecture

Events are idempotent

A terminal that has been offline replays what it queued. If the same event arrives twice, the backend must record one arrival. Every event carries an identifier generated on the device, and the write is keyed on it.

The organisation is in the access path

Attendance data is the most sensitive thing the platform holds. Records carry the organisation they belong to, and every read starts from the caller's organisation rather than filtering afterwards.

The notification is a consequence, not a message

A parent's notification is derived from a state change in the attendance record, so a resend cannot invent an arrival that did not happen.

Technologies

AOSP Android Node.js PHP Laravel MySQL MongoDB Redis React Next.js React Native Docker Linux

Tell us what you are building.

Write in English, French, Romanian or Arabic. Every message gets a written answer within one business day.