terra-view toplevel rebrand. Names changed all around

This commit is contained in:
serversdwn
2026-01-12 16:21:14 +00:00
parent e1b965c24c
commit b9a3da8487
8 changed files with 20 additions and 20 deletions

View File

@@ -35,7 +35,7 @@ data/
.DS_Store .DS_Store
Thumbs.db Thumbs.db
.claude .claude
sfm.code-workspace terra-view.code-workspace
# Tests (optional) # Tests (optional)
tests/ tests/

View File

@@ -1,6 +1,6 @@
# Changelog # Changelog
All notable changes to Seismo Fleet Manager will be documented in this file. All notable changes to Terra-View will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
@@ -54,7 +54,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [0.4.1] - 2026-01-05 ## [0.4.1] - 2026-01-05
### Added ### Added
- **SLM Integration**: Sound Level Meters are now manageable in SFM - **SLM Integration**: Sound Level Meters are now manageable in Terra-View
### Fixed ### Fixed
- Fixed an issue where unit status was loading from a saved cache and not based on when it was actually heard from last. Unit status is now accurate. - Fixed an issue where unit status was loading from a saved cache and not based on when it was actually heard from last. Unit status is now accurate.

View File

@@ -1,5 +1,5 @@
# Seismo Fleet Manager v0.4.2 # Terra-View v0.4.2
Backend API and HTMX-powered web interface for managing a mixed fleet of seismographs and field modems. Track deployments, monitor health in real time, merge roster intent with incoming telemetry, and control your fleet through a unified database and dashboard. Backend API and HTMX-powered web interface for Terra-View - a unified fleet management system. Track deployments, monitor health in real time, merge roster intent with incoming telemetry, and control your fleet through a unified database and dashboard. Terra-View supports seismographs (SFM module), sound level meters, field modems, and other monitoring devices.
## Features ## Features

View File

@@ -31,8 +31,8 @@ ENVIRONMENT = os.getenv("ENVIRONMENT", "production")
# Initialize FastAPI app # Initialize FastAPI app
VERSION = "0.4.2" VERSION = "0.4.2"
app = FastAPI( app = FastAPI(
title="Seismo Fleet Manager", title="Terra-View",
description="Backend API for managing seismograph fleet status", description="Backend API for Terra-View fleet management system",
version=VERSION version=VERSION
) )
@@ -516,7 +516,7 @@ async def devices_all_partial(request: Request):
def health_check(): def health_check():
"""Health check endpoint""" """Health check endpoint"""
return { return {
"message": f"Seismo Fleet Manager v{VERSION}", "message": f"Terra-View v{VERSION}",
"status": "running", "status": "running",
"version": VERSION "version": VERSION
} }

View File

@@ -1,7 +1,7 @@
""" """
SLMM (Sound Level Meter Manager) Proxy Router SLMM (Sound Level Meter Manager) Proxy Router
Proxies requests from SFM to the standalone SLMM backend service. Proxies requests from Terra-View to the standalone SLMM backend service.
SLMM runs on port 8100 and handles NL43/NL53 sound level meter communication. SLMM runs on port 8100 and handles NL43/NL53 sound level meter communication.
""" """
@@ -72,7 +72,7 @@ async def proxy_websocket_stream(websocket: WebSocket, unit_id: str):
Proxy WebSocket connections to SLMM's /stream endpoint. Proxy WebSocket connections to SLMM's /stream endpoint.
This allows real-time streaming of measurement data from NL43 devices This allows real-time streaming of measurement data from NL43 devices
through the SFM unified interface. through the Terra-View unified interface.
""" """
await websocket.accept() await websocket.accept()
logger.info(f"WebSocket connection accepted for SLMM unit {unit_id}") logger.info(f"WebSocket connection accepted for SLMM unit {unit_id}")
@@ -237,7 +237,7 @@ async def proxy_to_slmm(path: str, request: Request):
""" """
Proxy all requests to the SLMM backend service. Proxy all requests to the SLMM backend service.
This allows SFM to act as a unified frontend for all device types, This allows Terra-View to act as a unified frontend for all device types,
while SLMM remains a standalone backend service. while SLMM remains a standalone backend service.
""" """
# Build target URL # Build target URL

View File

@@ -1,9 +1,9 @@
/* IndexedDB wrapper for offline data storage in SFM */ /* IndexedDB wrapper for offline data storage in Terra-View */
/* Handles unit data, status snapshots, and pending edit queue */ /* Handles unit data, status snapshots, and pending edit queue */
class OfflineDB { class OfflineDB {
constructor() { constructor() {
this.dbName = 'sfm-offline-db'; this.dbName = 'terra-view-offline-db';
this.version = 1; this.version = 1;
this.db = null; this.db = null;
} }

View File

@@ -1,10 +1,10 @@
/* Service Worker for Seismo Fleet Manager PWA */ /* Service Worker for Terra-View PWA */
/* Network-first strategy with cache fallback for real-time data */ /* Network-first strategy with cache fallback for real-time data */
const CACHE_VERSION = 'v1'; const CACHE_VERSION = 'v1';
const STATIC_CACHE = `sfm-static-${CACHE_VERSION}`; const STATIC_CACHE = `terra-view-static-${CACHE_VERSION}`;
const DYNAMIC_CACHE = `sfm-dynamic-${CACHE_VERSION}`; const DYNAMIC_CACHE = `terra-view-dynamic-${CACHE_VERSION}`;
const DATA_CACHE = `sfm-data-${CACHE_VERSION}`; const DATA_CACHE = `terra-view-data-${CACHE_VERSION}`;
// Files to precache (critical app shell) // Files to precache (critical app shell)
const STATIC_FILES = [ const STATIC_FILES = [
@@ -137,7 +137,7 @@ async function networkFirstStrategy(request, cacheName) {
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Offline - SFM</title> <title>Offline - Terra-View</title>
<style> <style>
body { body {
font-family: system-ui, -apple-system, sans-serif; font-family: system-ui, -apple-system, sans-serif;
@@ -170,7 +170,7 @@ async function networkFirstStrategy(request, cacheName) {
<body> <body>
<div class="container"> <div class="container">
<h1>📡 You're Offline</h1> <h1>📡 You're Offline</h1>
<p>SFM requires an internet connection for this page.</p> <p>Terra-View requires an internet connection for this page.</p>
<p>Please check your connection and try again.</p> <p>Please check your connection and try again.</p>
<button onclick="location.reload()">Retry</button> <button onclick="location.reload()">Retry</button>
</div> </div>
@@ -285,7 +285,7 @@ async function syncPendingEdits() {
// IndexedDB helpers (simplified versions - full implementations in offline-db.js) // IndexedDB helpers (simplified versions - full implementations in offline-db.js)
function openDatabase() { function openDatabase() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
const request = indexedDB.open('sfm-offline-db', 1); const request = indexedDB.open('terra-view-offline-db', 1);
request.onerror = () => reject(request.error); request.onerror = () => reject(request.error);
request.onsuccess = () => resolve(request.result); request.onsuccess = () => resolve(request.result);