Add Seismic Monitor edge app - #1
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a new “Seismic Monitor” Screenly Edge App that renders an offline Leaflet-based world map and overlays live USGS earthquake events for digital signage usage.
Changes:
- Introduces the app entrypoint (
index.html) plus core client logic (static/app.js) to fetch USGS GeoJSON, render quake markers, and populate the side rail/POI callouts. - Adds styling and vendored Leaflet assets (
static/style.css,static/leaflet.{js,css}) to support an offline, self-contained UI. - Adds/updates app metadata and documentation (
screenly.yml,README.md) describing settings, deployment, and data attribution.
Reviewed changes
Copilot reviewed 7 out of 23 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| static/style.css | New signage-focused UI theme (rail, POI card, alerts, splash, typography). |
| static/leaflet.js | Vendored Leaflet runtime used for map rendering. |
| static/leaflet.css | Vendored Leaflet styles for map layout and controls (mostly unused controls). |
| static/app.js | Implements settings parsing, USGS feed fetch, map rendering, POI selection, and rail/metrics UI. |
| screenly.yml | Declares the Edge App manifest metadata and configurable settings. |
| README.md | Replaces template README with app documentation, settings, and deployment guidance. |
| index.html | New app entrypoint wiring together Leaflet, offline geo assets, Screenly bridge, and app logic. |
Files not reviewed (1)
- static/plates.js: Generated file
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| .leaflet-marker-shadow { | ||
| display: block; | ||
| } | ||
| /* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */ |
renatgalimov
left a comment
There was a problem hiding this comment.
It's not easy to review major updates in one go, but I already like how your function names align with our guide. But please replace overly abbreviated variable names according to our naming guide.
|
|
||
| function renderStats(features) { | ||
| var count = features.length; | ||
| var max = features.reduce(function (mx, f) { return Math.max(mx, f.properties.mag || 0); }, 0); |
There was a problem hiding this comment.
Before we jump into a code review, please update the variables:
https://phorge.screenly.io/w/developer_guidelines/naming_things_in_code/#variable-naming
…it app.js into maths, render and app layers
Fixes Issue
n/a, initial submission of the app
Description of Change
Adds the Seismic Monitor edge app: a live USGS earthquake map for signage.
Offline vector basemap (Natural Earth, no tile CDN), quake dots sized and
coloured by magnitude, plate boundary lines, a point of interest label that
rotates every 5 minutes, and a rail with the latest events. Centres on the
screen's own coordinates from the bridge. No API key, no animations (so it
renders correctly on Anywhere screens, which capture stills), all assets
vendored.
Anywhere screen and in browsers at several resolutions.
Checklist
Additional Notes/Comments
Screenshots in /screenshots. The manifest ships without an app id - each
account gets its own via screenly edge-app create --in-place (in the README).