# WeatherTool WeatherTool prepares the weather graphics used on air: current temperatures, water temperatures, and severe-weather warnings, rendered as fixed-size PNG exports ready to drop into a broadcast. It's a large update to the tool currently running in production at `laikazinas.lsm.lv`. ## What it does - Pulls real observation data from LVĢMC (Latvia's national weather service) — current station temperatures, water temperatures, and active warnings — from their public open-data feed. - Lets an operator review and, where needed, correct individual values before export, without touching the underlying data. - Renders that data onto fixed newsroom map templates and exports broadcast-ready PNGs at the station's required resolutions. - Also includes analytical tools (historical station comparisons, a full data archive) for exploring the underlying weather data beyond what goes on air. ## How it's built A Scala backend (cats-effect, http4s, PostgreSQL) ingests and serves the data; a SolidJS frontend is where operators build the graphics. Both are described in full under [`docs/`](docs/README.md). ## Status Actively in development. All development, testing, and staging currently happens on a single Rocky Linux machine; a temporary public test environment for the new version is at `laikapstak.li`, gated behind authentication, separate from the live `laikazinas.lsm.lv` service it will eventually replace. Continuous integration runs automatically on every push via Gitea Actions. ## Security The application has been through an independent security review, with findings (including a critical one) found and fixed — see [`docs/UPDATE_ROADMAP.md`](docs/UPDATE_ROADMAP.md) for the full history. The public test environment sits behind Cloudflare, an authentication gate, and a private database with no public port. Deployments are manual, checksummed, and smoke-tested before going live — see [`docs/VPS_RELEASE_RUNBOOK.md`](docs/VPS_RELEASE_RUNBOOK.md). ## Getting started See [`docs/README.md`](docs/README.md) for current status, architecture, and the full documentation set, and [`docs/DEVELOPMENT_AND_STAGING.md`](docs/DEVELOPMENT_AND_STAGING.md) for exact build, run, and deployment commands. For local setup, copy `.env-sample` to `.env` and fill in real values.