From c5f625f6f7456b65afc4b94805ea2e7e360300bf Mon Sep 17 00:00:00 2001 From: Arif Hasanic Date: Sat, 27 Jun 2026 23:13:42 +0200 Subject: [PATCH] add build badge --- README.md | 50 +------------------------------------------------- 1 file changed, 1 insertion(+), 49 deletions(-) diff --git a/README.md b/README.md index a6a55b1..9693753 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,7 @@ ## monitor-im-flur -![Build Status](https://git.rivercry.com/wg/monitor-im-flur/badges/master/pipeline.svg) +![build workflow](https://git.rivercry.com/wg/monitor-im-flur/actions/workflows/ci.yml/badge.svg) -Hallway / common-area wall monitor dashboard. A single-page React + Vite app that surfaces useful household + transit + weather + fun data on a passive display. - -### Key Features -* Realtime-ish auto‑refresh via git commit hash file (`/git-hash.html`) – hot-reloads the deployed page when a new build is published. -* Dynamic theming (day / evening / night) based on current time. -* Public transport departures (KVV) for two nearby stops (IDs 7000044 & 7000045). -* Weather (current, hourly, daily min/max) via Open‑Meteo. -* Flatastic chores integration (tasks + flatmates) with API key. -* Home Assistant readings (tent temperature + humidity) displayed in a faux terminal with rotating shitposts. -* 4:20 easter egg card + Amogus sprite + other playful flourishes. -* Docker / Nginx static deployment image (`git.rivercry.com/wg/monitor-im-flur:latest`). -* Strict linting + formatting (ESLint AirBnB + Prettier + Biome optional). -* Zustand + RTK (toolkit present) state management (currently Zustand in active use). - -### Tech Stack -* React 19 + TypeScript + Vite -* Zustand (with devtools) for app stores (weather, kvv, flatastic, home assistant) -* Nginx (static file serving) inside minimal Docker image -* Open‑Meteo, Flatastic, KVV, Home Assistant external APIs -* Git hash pipeline script to trigger client self‑reloads ### Project Structure (abridged) ``` @@ -92,16 +72,6 @@ docker compose up -d ``` Visit: http://localhost:9123 -### Git Hash Auto‑Reload Mechanism -`pipeline/create-git-hash-html.sh` writes the current commit (`$GITHUB_SHA`) to `dist/git-hash.html` during CI. The dashboard polls `/git-hash.html` every 10s; when the value changes it performs `window.location.reload()`. Ensure your CI runs the script after `vite build` and before creating the Docker image. - -Pseudo CI step example: -``` -vite build -GITHUB_SHA=$(git rev-parse HEAD) ./pipeline/create-git-hash-html.sh -docker build -t git.rivercry.com/wg/monitor-im-flur:$(git rev-parse --short HEAD) . -``` - ### Data Sources * KVV Departures: Public endpoint (JSON) for stop IDs 7000044 / 7000045. * Weather: Open‑Meteo forecast API (lat 49.0094, lon 8.4044, Europe/Berlin TZ). @@ -115,21 +85,3 @@ docker build -t git.rivercry.com/wg/monitor-im-flur:$(git rev-parse --short HEAD ### State Management Notes All data fetching is encapsulated inside zustand store `fetch` methods invoked on an interval within the respective components. Consider centralizing polling or using React Query if complexity grows. - -### Potential Improvements / TODO -* Remove hard‑coded Home Assistant token. -* Error + loading states (currently optimistic, failures would be silent / console only). -* Retry & backoff strategy for network calls. -* Dark mode override / manual theme toggle. -* Accessibility pass (ARIA, focus management) – current dashboard is mostly passive. -* Tests (none yet). Could add Vitest + React Testing Library. -* Switch transit API code to gracefully handle outages (KVV sometimes rate limits). - -### License -Add a license file if you plan to share externally (currently unspecified). - -### Support / Contact -Internal project (wg). For issues open a ticket on Gitea: https://git.rivercry.com/wg/monitor-im-flur - ---- -Generated README draft – adjust repository paths / badge branch name if different (e.g., replace `master` with your default branch).