Add records, Elijah scores, per-session notes, and PWA update prompt

App features:
- Personal-best records per metric: manually settable in Settings and
  auto-updated when a session beats them; shown in the log modal and a
  new dashboard "Personal records" card.
- Juggling now counts by 1 instead of 5.
- 1-on-1 with Elijah gains Technical Skill and Effort scores (out of 10)
  as manual inputs, plus an optional per-session note.
- Service worker now uses a controlled update flow: an in-app
  "new version ready" banner activates the update on tap and reloads.

Data model:
- category_metrics gains track_record + record; entries gains note.
- Idempotent migrations bring existing databases up to date (juggling
  step/record, Elijah score metrics) alongside the updated seed.

StartOS package:
- Bump to 0.1.2:0 with release notes.
- Build x86_64 only (drop aarch64) per deployment target.
This commit is contained in:
Keysat
2026-06-03 08:46:27 -05:00
parent 0265699504
commit 5868852686
17 changed files with 441 additions and 121 deletions
+31 -17
View File
@@ -1,25 +1,39 @@
# Hello World
# Premier Gunner
You've installed Hello World — there's nothing to configure and nothing to set up. This page covers how to open the page it serves and where to read more. (If you're a developer, Hello World is also the recommended packaging template.)
## Documentation
- [Hello World upstream docs](https://github.com/Start9Labs/hello-world/blob/master/README.md) — the README for the web server this package runs.
- [StartOS Packaging Guide](https://docs.start9.com/packaging) — how to build a StartOS service package from that template.
## What you get on StartOS
- **A running web server** that serves a single static page.
- **Nothing to configure and no actions** — the service starts on its own and is immediately usable.
Premier Gunner is a kid-friendly, mobile-friendly soccer training tracker built for one player. Log daily training across categories (juggling, shooting, dribbling, soccer tennis, and more), plan upcoming sessions, set goals, and watch progress climb the thermometer toward the big reward.
## Getting set up
There's no setup wizard, no admin password, no first-run prompt — Hello World is usable the moment it starts. To view the page it serves:
1. Open Premier Gunner's **Dashboard** tab and click the **Premier Gunner** web interface to open the app.
2. You'll land on a **login screen** asking for a password. A strong random password is generated automatically when the service is installed.
3. To set your own password, run the **Set Login Password** action (Actions tab). Enter the password Gunner will type on the login screen (at least 4 characters) and save. The service restarts and the new password takes effect immediately. Any active logins are signed out.
1. Open Hello World's **Dashboard** tab.
2. Click the **Web UI** interface to open the served page in your browser.
> The login password is managed entirely by the **Set Login Password** action. Changing it inside the app's own Settings screen will be overwritten on the next restart, so always use the action.
## What you get on StartOS
- **A single-user web app**, password protected, reachable over your StartOS networking (Tor, LAN, or a clearnet domain via StartTunnel).
- **Daily logging** by category with point-and-click steppers, plus optional per-session notes.
- **Personal-best records** — turn on 🏆 tracking for any metric (juggling is on by default). Set the current record by hand in Settings, and it updates automatically whenever a session beats it.
- **1-on-1 with Elijah scores** — log a Technical Skill score and an Effort score (out of 10) alongside the session note.
- **Planning, goals, and a dashboard** with a streak calendar, training-spread radar, improvement charts, a records list, and the main-goal thermometer.
- **Persistent data** stored in the package's `main` volume (`/data`), included in StartOS backups.
- **One action** — Set Login Password.
### Updates
When you install a new version of Premier Gunner, the installed web app (including a phone home-screen PWA) detects it automatically and shows a **"A new version is ready! — Refresh"** banner. Tap **Refresh** to update instantly. If you don't, it updates on its own the next time you fully close and reopen the app.
## Exposing on a clearnet domain (StartTunnel)
Premier Gunner serves plain HTTP on its interface; StartOS terminates TLS. To reach it from a normal browser on the open internet:
1. Install and configure **StartTunnel** and point a domain at this service's **ui** interface (see the [StartTunnel docs](https://docs.start9.com/start-tunnel/1.0.x/)).
2. Add the clearnet address to the **ui** interface so the app's session cookie is issued for that host.
The app sets its session cookie with the `Secure` flag in production, so it requires HTTPS — which StartTunnel provides.
## Limitations
- Hello World is intentionally minimal. It is not a useful service on its own; it exists to demonstrate the StartOS packaging system.
- The page content is static and cannot be customized through the StartOS UI.
- Premier Gunner is intentionally single-user. There are no separate accounts; everyone who has the password shares the same data.
- The login password must be changed via the **Set Login Password** action, not the in-app Settings screen, when running on StartOS.