Це репозиторій з вихідним кодом Gym workout tracker PWA. Готовий продукт деплоїться в: https://github.com/ajjs1ajjs/Gym Офіційний сайт: https://ajjs1ajjs.github.io/Gym/
Приватний PWA-застосунок для тренувань у залі. Ведення ваг, плани тренувань та заміри тіла. Працює офлайн і встановлюється на телефон як звичайний застосунок.
- 💪 Ведення планів тренувань
- 📊 Графіки ваги та зміни тіла
- 🏋️ Заміри тіла + фото тіла
- 🔒 Офлайн-режим — застосунок працює без інтернету (PWA)
- 💾 Локальне зберігання даних у
localStorage(оновлення у v2) - 📱 Встановлення на телефон та планшет як рідний застосунок
| День | Фокус |
|---|---|
| Верхня частина тіла | Груди, біцепси/трицепси, плечі, спина, жим, тяга |
| Нижня частина тіла | Ноги (3–4×10) |
| М'язи для тіла | Ноги (3×20), ягодиці (3×45–60с) |
| Тіло | Прес та розтяжка (20–30 хв, пульс 110–130) |
- Svelte 5 — реактивність із мінімальним DOM, без runtime-бібліотек
- TypeScript — повна типізація
- Vite — швидкий білд, максимальна швидкість
- vite-plugin-pwa — автоматичний service worker (precache + cache-first)
- Vitest + @testing-library/svelte — 25 тестів
- ESLint + svelte-check — якість коду
Автоматичний встановлювач (сам ставить Node.js 22, залежності, білдить і піднімає локальний сервер на http://localhost:8080):
curl -fsSL https://raw.githubusercontent.com/ajjs1ajjs/Gym/main/install.sh | bash
# або dev-сервер (Vite, http://localhost:5173):
curl -fsSL https://raw.githubusercontent.com/ajjs1ajjs/Gym/main/install.sh | bash -s -- --devВручну:
sudo apt update && sudo apt install -y nodejs npm # або через nvm
npm install # встановлення залежностей
npm run dev # dev-сервер
npm test # тести
npm run check # type-check (svelte-check)
npm run lint # eslint
npm run build # продакшн-білд у dist/
npm run preview # перегляд білд-результатуАвтоматичний встановлювач (PowerShell; перевіряє/встановлює Node.js 20+ через winget, білдить і піднімає локальний сервер на http://localhost:8080):
irm https://raw.githubusercontent.com/ajjs1ajjs/Gym/main/install.ps1 | iex
# або dev-сервер (Vite, http://localhost:5173):
$env:GYM_DEV = "1"; irm https://raw.githubusercontent.com/ajjs1ajjs/Gym/main/install.ps1 | iexВручну (Node.js 20+ з nodejs.org або winget install --id OpenJS.NodeJS.LTS -e):
git clone https://github.com/ajjs1ajjs/Gym.git
cd Gym
npm install
npm run dev # dev-сервер
npm run build # продакшн-білд у dist/npx serve dist # Linux/Windows/macOS — будь-де, де є Node.jsПри кожному пуші у гілку main (окрім змін лише в README.md/CHANGELOG.md) запускається GitHub Actions (.github/workflows/deploy.yml): lint → type-check → тести → build → публікація dist/ через peaceiris/actions-gh-pages.
Локальна розробка: проєкт сумісний з Ubuntu / Debian (
install.sh) та Windows (install.ps1) — див. розділ 🚀 Getting started. CI (deploy.yml) запускає lint → type-check → тести → build наubuntu-latest. Застосунок статичний (PWA), для самостійного розгортанняdist/достатньо будь-якого веб-сервера: nginx / Caddy на Linux або IIS/будь-який статичний хостинг на Windows.
Жива версія: https://ajjs1ajjs.github.io/Gym/
Див. CHANGELOG.md.


