/ caraga state university · ict laboratories

Fair access to every lab workstation.

A workstation access-control platform for Caraga State University ICT laboratories: a Rust coordination server, an administrative manager, a student kiosk, and a per-workstation client that enforces fair, time-limited sessions.

System status

operational
Security
3 layers
Release
v0.1.17

/ system components

Distributed clients, one authoritative server

04 + 1 planned

Client

Workstation lockdown

01

Runs fullscreen on every lab PC and holds the lock until a valid session token is presented.

  • Native keyboard & focus enforcement
  • Session countdown, tray reporting, notifications
  • Remote lock, unlock & logout
  • Software-usage and screen-capture reporting
  • Setup & secure recovery-key workflow
Tauri · Rust · Windows

Kiosk

Student check-in

02

The student entry point — verifies identity and issues a one-time token for an assigned workstation.

  • QR-based and manual student ID
  • Reservation check-in & walk-in assignment
  • One-time access tokens
  • Live occupancy & availability
Tauri · Rust · Windows

Manager

Control plane

03

The administrative command surface — real-time floorplan, session control, and the bundled server sidecar.

  • Live floorplan & workstation status
  • Remote unlock, logout & broadcast
  • Student directory: validate, quota, ban
  • Analytics & session history export
  • Local sidecar or remote-server mode
React · Vite · Zustand · Tauri

Server

Coordination layer

04

The single source of truth — registration, token issuance, and real-time state distribution across every device.

  • Role-based WebSocket broadcast bus
  • Session monitor (60s) & stats updater (10s)
  • UDP discovery responder
  • Power-outage recovery & fair refunds
  • Local encrypted SQLite storage
Rust · Axum · Tokio · SQLite

Reservations Portal

Student scheduling · planned

A self-service portal for fair workstation booking — students will see availability and request lab access ahead of a session.
Not shipped

/ system architecture

Hub-and-spoke, partitioned by protocol

The Rust server is the central authority. Discovery, live state, and request/response traffic are isolated on separate channels across the lab network.

Lab hardware

edge

Client PCs

1 per workstation · Tauri

edge

Student Kiosk

check-in terminal · Tauri

Discovery · live state

Core infrastructure

authority

CARSU Server

Rust · Axum · Tokio

Primary DB

primary store

Settings DB

settings store

API · live state

Management

control

Primary Manager

local admin PC · sidecar

control

Remote Manager

staff laptop · LAN/tunnel

Background subsystems

Session monitor

tick 60s · expiry → LOCK

Stats updater

tick 10s · occupancy

Network discovery

auto-locate on LAN

Power-outage recovery

orphan sessions · fair refund

Data model · SQLite

01

Endorsed machines

Physical inventory · signed identity

02

Clients

Runtime state · heartbeat · specs

03

Students

Directory · balance · validation

04

Sessions

Usage history · timestamps

05

Access tokens

One-time access · student

06

Tamper events

Security trail · resolution

/ security & authentication

Three layers, even on a shared network

01

Authenticated channels

Every live connection is authenticated before any state flows — unauthorized devices can't join the network.

Verified access
02

Privileged operations

Sensitive actions require a separate administrative credential, verified server-side on every request.

Admin gated
03

Asymmetric recovery

Recovery secrets are protected with public-key cryptography; the private key never leaves the server. Each machine carries a signed identity.

Public-key sealed