尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證ProtocolOS - offline-first fitness PWA: 82 exercises, WOD timer, nutrition via Open Food Facts
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
An offline-first fitness PWA — training plans, progressive-overload coaching, CrossFit WODs, and nutrition tracking — built entirely in vanilla JavaScript with zero backend.
ProtocolOS is a complete personal training system that runs 100% in the browser. All data lives in localStorage, the service worker keeps it working with no connection, and it installs to the home screen like a native app. The UI is in Hebrew (full RTL support).檢視完整 README ↗An offline-first fitness PWA — training plans, progressive-overload coaching, CrossFit WODs, and nutrition tracking — built entirely in vanilla JavaScript with zero backend.
Live app: flowopsai.co.il/fitness_app
ProtocolOS is a complete personal training system that runs 100% in the browser. All data lives in localStorage, the service worker keeps it working with no connection, and it installs to the home screen like a native app. The UI is in Hebrew (full RTL support).
A rule-based coaching engine analyzes each exercise's logged history and tells the user what to do next:
| Layer | Choice |
|---|---|
| Language | Vanilla JavaScript (ES modules) — no framework |
| Offline | Service Worker + Cache Storage |
| Persistence | localStorage only — no backend, no accounts, no tracking |
| External APIs | Open Food Facts (food search), Claude API (optional, user-keyed) |
| Build | Vite + Terser minification |
| Testing | Vitest — pure logic extracted to src/pure.js for unit testing |
| CI/CD | GitHub Actions: test, then build and deploy to GitHub Pages on every push to main |
| Hosting | GitHub Pages behind a custom domain |
sw.js): network-first for the app shell (HTML/JS/CSS) so users always get fresh code when online, with cache fallback when offline; cache-first for static assets (icons, fonts). Old caches are purged on activation and open clients are notified via postMessage when a new version is live.localStorage keys. The result: zero hosting cost beyond static files, instant loads, and complete data privacy.src/pure.js, covered by Vitest and gated in CI before deploy.npm ci
npm run dev # Vite dev server on port 3000
npm test # Vitest unit tests
npm run build # production build to dist/
ISC