Skip to content

Releases: SeifMoussa/smart-greenhouse-iot-dashboard

v0.1.0 — Smart Greenhouse IoT Dashboard

13 May 14:14

Choose a tag to compare

First public release of the Smart Greenhouse IoT Dashboard — a full-stack IoT monitoring and control system runnable end-to-end without any physical hardware.

CI status

All four CI jobs passed on the GitHub-hosted runner (run #25803621442):

Job Result
Backend (Python 3.12) — lint, format, pytest 77/77, coverage 95.29 % Passed
Frontend (Node 22) — ESLint, Prettier, TypeScript, Vitest 27/27, build Passed
Docker Compose smoke — full three-service build and runtime Passed
Docs consistency — 4 sub-checks Passed

CodeQL security scan also completed with no findings.

What works

  • Backend (FastAPI + SQLAlchemy 2 + SQLite) — REST + WebSocket API, threshold evaluation, alert generation, CSV export. 77 / 77 tests passing, 95.29 % coverage.
  • Frontend (React + Vite + TypeScript strict + Tailwind) — live readings, history chart, alerts, threshold form, actuator toggles, CSV export, light/dark mode, WebSocket auto-reconnect. 27 / 27 tests passing.
  • Sensor simulator — bounded random-walk generator that pushes synthetic readings to the backend, with 19 dedicated tests including 2 end-to-end against the real backend.
  • Optional ESP32 firmware — reference Arduino sketch.
  • Docker Compose — three-service stack (backend, simulator, frontend), named volume for SQLite persistence, healthchecks, internal bridge network. Build and runtime verified on a GitHub-hosted runner.
  • CI — GitHub Actions workflow with backend / frontend / docs / Docker Compose smoke jobs, plus CodeQL security scanning.

Verified

  • All tests pass on Python 3.12 and Node 22 (local and GitHub Actions)
  • Backend coverage 95.29 % (gate 70 %)
  • All linters and formatters clean
  • Documentation consistency (scripts/check-docs.py) clean
  • No secrets committed, narrow CORS default, non-root Docker containers
  • Docker Compose smoke build and runtime passed on GitHub Actions

Screenshots

No screenshots are included in this release. Real dashboard captures require running the Docker stack locally; fabricated screenshots are not committed. Screenshots will be added as a follow-up commit once captured against a live docker compose up session and will appear in the README at that point.

Pending

  • Real dashboard screenshots (to be committed to screenshots/ after local Docker capture)

Lab-only scope

This is a portfolio / lab demonstration. No HTTPS, no production-grade auth, SQLite single-tenant. Do not deploy as-is to public networks.

Documentation

License

MIT