# ThermoPro CYD Frontend A Progressive Web App (PWA) that consumes the CYD ThermoPro Bridge API, stores session history in SQLite, and displays probe temperatures with charts, target setpoints, and freeform notes. ## Architecture ``` LXC/container ├── Python backend (FastAPI/Flask) │ ├── Polls CYD /api/latest periodically │ ├── Stores readings + sessions + notes in SQLite │ └── Serves the static PWA and API └── PWA (HTML/CSS/JS) ├── Dashboard with probe cards ├── Temperature history charts ├── Target setpoint editor └── Session notes ``` ## Requirements - Python 3.10+ - `flask`, `requests`, `gunicorn` (or `uvicorn` if FastAPI) - SQLite (stdlib) ## Running locally ```bash cd frontend python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate pip install -r requirements.txt python app.py ``` Then open `http://localhost:5000`. ## Configuration The backend needs to know the CYD IP. Set the environment variable: ```bash export CYD_BASE_URL=http://192.168.2.55 ``` or edit the default in `config.py`. ## Deployment Serve the app behind a reverse proxy (e.g. Caddy or Nginx) in an LXC. The backend will continue polling the CYD as long as it can reach the device.