b0txec e1ce1533bd
CI / backend (push) Successful in 1m7s
CI / frontend (push) Successful in 44s
Give Ūdens's resolution buttons the same visual language as the cards
They used the app's generic flat button style (transparent border, solid
gray fill) while the temperature cards next to them have a considered
look (border, soft glass background, label hierarchy) -- so the buttons
read as a lightweight, generic control next to more polished content.
Matched border, border-radius, and background to the cards, and gave them
a bit more height/padding so the block reads with similar visual weight.

(Measured actual box positions before touching anything: button and card
tops are pixel-identical at the user's real viewport width, confirmed via
Playwright bounding boxes -- the "buttons look higher" read was about
visual weight/style mismatch, not a coordinate offset.)
2026-08-25 11:04:46 +03:00
2025-03-09 20:02:16 +02:00
2025-03-01 18:16:56 +02:00
2025-03-02 22:03:27 +02:00

Weather Tool

Tool for downloading historical and real-time data from weather stations in Latvia. It aggregates and displays data for different time periods, cities, and weather parameters.

Setup

Rename .env-sample to .env and fill in credentials

Environment boundary

  • Windows: source editing, review, and Git operations only. Do not compile, build, run containers, install project dependencies, or test the application here.
  • Rocky Linux: the only development runtime; compile, build, run, seed, and test WeatherTool here.
  • Ubuntu VPS: deployment target only. It receives the reviewed release artifact built and verified on Rocky; it is not a development or build host.

Run

docker-compose up --build --no-cache --force-recreate

Web

http://0.0.0.0:9090/

nginx proxy config

server {
    listen 80;
    server_name laikazinas.lsm.lv;

    location / {
        proxy_pass http://localhost:9090; # Forward requests to the Scala app
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

Rocky development runtime

// 1st terminal
podman-compose up postgres

// 2nd terminal
sbt run

// 3rd terminal
cd web/
npm run dev

Run one file sbt "runMain grib.GribParserTest"

Backend Tech:

  • scala: cats-effects, http4s, fs2, circe, scalatest
  • postgres

Frontend Tech:

  • SolidJS
  • Vite

Fly commands

// suspend instance
fly scale count 0
// check display
fly ssh console
df -h
fly scale memory 512
S
Description
wep app for using meteo data
Readme 27 MiB
Languages
TypeScript 60.1%
Scala 33.3%
CSS 5.7%
HTML 0.4%
Dockerfile 0.4%
Other 0.1%