42 lines
4.9 KiB
Markdown
42 lines
4.9 KiB
Markdown
# WeatherTool project documentation
|
||
|
||
This directory contains the working documentation for the WeatherTool modernization effort. The repository-root `README.md` is preserved as the original project overview; these documents describe the reviewed code, current staging environment, and changes being developed.
|
||
|
||
## Current status
|
||
|
||
- Windows is restricted to source editing, review, and Git operations. Rocky is the sole compile, build, development-runtime, and test environment. The Ubuntu VPS is a deployment target only.
|
||
- A production-like staging copy runs through Docker Compose on Rocky Linux at `http://192.168.1.101:9190`.
|
||
- Staging uses deterministic synthetic observations for the repository station set plus Valmiera, required by Faktiskā.
|
||
- Scheduled external-provider jobs are disabled in development and staging.
|
||
- PostgreSQL is private to the project Compose network; only the Scala application publishes a host port.
|
||
- The operator-facing workspaces now use the Latvian workflow names **Stacijas**, **Kartes**, **Faktiskā**, **Ūdens**, **Apskats**, **Arhīvs**, **Harmonie**, and **LVĢMC**. Kartes retains custom analytical map outputs, while Faktiskā is a fixed 13-position, latest-temperature newsroom workflow with a locked 3840×1440 export.
|
||
- Faktiskā symbol placement is automatic after manual image selection and is anchored to each rendered temperature badge.
|
||
- **Ūdens** uses separate authoritative 1920×1080 and 3840×1440 production templates. Its six value rectangles are measured per template and the text is optically centered from rendered glyph bounds; both exports have been visually validated.
|
||
- Confirmed local Monda Regular/Bold files provide interface and generated-graphic typography; weather symbols use normalized transparent image assets.
|
||
- Release `df911f1` is deployed as immutable image `weathertool:df911f14eb8a1041822959677e09bb544ce0cdcd`; release `ef64895` remains the immediate application rollback. The next candidate adds explicit JSON API responses, Latvian workflow labels, and calibrated water-temperature exports.
|
||
- The isolated VPS UAT stack is running and healthy: WeatherTool is bound to `127.0.0.1:8002`, Authelia to `127.0.0.1:9091`, and PostgreSQL has no host port. Public access is routed through Cloudflare, Nginx, and Authelia.
|
||
- Cloudflare delegation is active, strict origin TLS covers only `laikapstak.li` and `auth.laikapstak.li`, and the public Nginx/Authelia login flow is operational without changing the existing HOP site.
|
||
- The VPS database contains a deliberately limited 14-day, 34-city synthetic dataset for newsroom visual testing. It must be cleared before authorized real-provider ingestion begins.
|
||
- Approved 1920×1080 and 3840×1440 PNG production bases are now the rendering source for Faktiskā and Ūdens temperatūra; code draws only the changing values, selected weather symbols, and wind data over those fixed newsroom graphics.
|
||
- Browser branding assets and Latvian Open Graph/Twitter metadata are included for favicon, Apple home-screen icon, and link-preview support. Public crawler access still depends on the Nginx/Authelia policy used for the metadata and preview image.
|
||
- Browser verification is complete for the deployed `df911f1` release and for the later candidate changes on Rocky. The shared UAT login is ready for newsroom-user testing.
|
||
- Frontend dependency maintenance is complete: Solid runtime and Vite tooling were updated, obsolete packages were removed, TypeScript checking was added, and a clean Rocky `npm ci`, typecheck, production build, full audit, and production-only audit all pass with zero known vulnerabilities.
|
||
- This is not yet approved or hardened for workplace production.
|
||
|
||
## Documents
|
||
|
||
- [Architecture and data flow](ARCHITECTURE.md) — components, data sources, data flow, and repository layout.
|
||
- [Development and staging](DEVELOPMENT_AND_STAGING.md) — Windows source/Git workflow, Rocky development and verification, VPS deployment, synthetic data, and rollback.
|
||
- [Product workflows](PRODUCT_WORKFLOWS.md) — the intended purpose and current status of each visible workspace.
|
||
- [Update roadmap](UPDATE_ROADMAP.md) — phased technical, security, dependency, testing, and UI work.
|
||
- [Third-party notices](THIRD_PARTY_NOTICES.md) — licenses and attribution for adapted interface components.
|
||
- [Temporary VPS staging plan](VPS_STAGING_PLAN.md) — isolation, authentication, prepared deployment bundle, release, backup, verification, and rollback model for external user testing.
|
||
|
||
## Documentation rules
|
||
|
||
1. Do not put passwords, API keys, workplace URLs, or production data in Git.
|
||
2. Document the behavior that exists separately from behavior that is proposed.
|
||
3. Update these documents in the same commit when a change alters deployment, data flow, or a user workflow.
|
||
4. Keep synthetic/development instructions clearly distinguished from workplace production procedures.
|
||
5. Preserve established Latvian names in operator-facing workspaces and production files even when development notes are written in English.
|