sensorcast is a real-time sensor monitoring system that triggers user-defined alerts based on thresholds, jitter, and other conditions. Alerts are displayed on a live dashboard.
Simulated sensor behaviours including oscillation, drift, spikes, and failure
Threshold-based alerting with configurable conditions
Real-time data streaming and live dashboard visualisation
Modular architecture designed for future scalability
Backend: Deno (TypeScript)
Communication: SSE
Database: PostgreSQL
This project is intended as a learning and experimentation platform for real-time systems, event-driven architecture, and scalable alerting logic.
CREATE TABLE triggers (
id UUID PRIMARY KEY,
business_id UUID NOT NULL,
sensor_id UUID NOT NULL,
type TEXT NOT NULL CHECK (type IN ('temperature', 'humidity', 'voltage')),
threshold DOUBLE PRECISION NOT NULL,
comparison TEXT NOT NULL CHECK (comparison IN ('gt', 'lt', 'eq'))
);deno run --allow-read --allow-env --allow-net backend/main.ts
deno run --allow-net sensors/sensor.ts Or, you can just use docker-compose!
docker compose -f ./deployments/docker-compose.yaml up