Releases: SeifMoussa/smart-greenhouse-iot-dashboard
Releases · SeifMoussa/smart-greenhouse-iot-dashboard
v0.1.0 — Smart Greenhouse IoT Dashboard
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
- README.md
- docs/ARCHITECTURE.md
- docs/API.md
- docs/DEPLOYMENT.md
- docs/DATA_MODEL.md
- docs/HARDWARE.md
- TESTING_REPORT.md — per-phase real results
License
MIT