5 месяцев назад я публиковал материал про пет-проект календаря домашних тренировок. Сегодня хочу рассказать, что было сделано мной за прошедшее с тех пор время.
Самим приложением пользуюсь регулярно. На главной странице для незарегистрированных пользователей в качестве примера как раз показывается моя статистика. Помимо меня есть ещё 53 зарегистрированных пользователя с подтверждённым email.
Исходный код приложения
Видео про разработку
Frontend: Typescript, Vite, Vue, Tanstack Query, Vitest, Vue I18n, Tauri
Backend: Typescript, Fastify, Mongoose, MongoDB, Swagger
Публикация приложения в RuStore
С помощью Tauri добавил генерацию формата APK. Зарегистрировался в RuStore в качестве разработчика, заполнил поля с описанием, сделал скриншоты. Модерация прошла очень быстро. Теперь приложение можно удобно скачивать и обновлять. Сам APK файл весит около 10 мегабайт. За 4 месяца с момента публикации в RuStore оттуда было 65 установок приложения.
Дизайн

Обновил шрифт, поработал с отступами и размерами элементов, доработал графики. Всё стало более ровным и унифицированным. Больше всего пришлось повозиться с календарём. Я использую vue-cal, который в этот период обновился с 4 до 5 версии.
Пользовательские упражнения
Теперь пользователи могут добавлять до 20 своих упражнений, с указанием задействованных групп мышц и использованным оборудованием. Этой функциональностью уже активно пользуются, судя по данным из админки.
Цели

В профиле можно выбрать цели по количеству занятий в неделю, подходам в занятии, повторам в подходе и среднему времени занятия. Эти цели отображаются на графиках серой линией. Дополнительная мотивация заниматься спортом!
Профиль пользователя
Профиль разбил на подразделы с переключением по вкладкам. Функциональность добавления своего оборудования и выбора веса в упражнениях по-умолчанию была и на момент написания прошлой статьи.
Мультиязычность

С помощью Vue I18n добавил мультиязычность. Все переводы лежат отдельно: пока только русский и английский языки, позже можно добавить другие популярные локали. Переключение языка происходит мгновенно, без перезагрузки страницы. Пришлось доработать UI-кит, чтобы функциональность поддерживала мультиязычность.
Таймер отдыха
Теперь при прохождении занятия между подходами показывается таймер отдыха. Эту функциональность просили пользователи - добавил.
Больше графиков
Раньше графики были только по неделям. Теперь есть переключатель на данные по месяцам. Также можно посмотреть не только общие данные, но и средние. Например, сколько в среднем повторов в подходах. Добавил новый вид графика по длительности занятий.
Юнит тесты

Qwen 3 coder помог удвоить количество юнит тестов в приложении и UI-ките - теперь их больше 800. Пока добавлял новые тесты, исправлял открывшиеся небольшие баги. Тестами покрыты не только все компоненты, но и хелперы, композаблы, сервисы получения данных через Tanstack query.
UI-кит
Всяфункциональность, не связанная с бизнес логикой, перетекает в UI‑кит. Например, из нового — запрет блокировки экрана в момент прохождения занятия. Сейчас UI‑кит состоит из 2 пакетов: более 20 UI компонентов и набор хелперов/композаблов. Есть сторибук с базовой документацией.
Планы
Хочу добавить возможность делать шаблоны, из которых потом можно создавать занятия. Сам процесс создания занятия хочется сделать более функциональным. Также в ближайших планах сделать тёмную тему.
Стараюсь не планировать огромный пласт работ. Приложение развиваю постепенно, пишу код в удовольствие. Считаю, что пет‑проекты должны быть именно такими — простыми, практичными, той тематики, которая вас на самом деле интересует.
Комментарии (5)
SnakeSolid
04.09.2025 09:52Планируете ли добавлять анимации для упражнений, чтобы было наглядно видно как его выполнять?
Kwisatz
Прикольно, тож хочу такое запетить, но с весом
dergunovs Автор
Веса есть :)
Kwisatz
Да, я уже увидел, но тогда странно немного у вас сделано. Видимо суть в том что у вас именно домашние, мне лично такое не вставляет, в зал я вроде как ходить даже начал, а вот дома зарядку то с трудом делаю 8( Ну и многоповторку не так чтобы сильно уважаю)
У вас статистика повторов и подходов, мне, например не интересно, мне больше нравится как гармин показывает статистику.
Ну например:
- гиперэкстензия 35х12
- гиперэкстензия 40х12
- гиперэкстензия 45х12
Итого за день: 1440 потвторокилограмм (пкг ?))
В чем суть? Суть в том что за тренировку количество подходов +- одинаковое, за редким исключением типа болших весов (думаю немного любителей сходу на ноги 200кг насыпать), а прогресс видеть хочется. Кроме того иногда можно брать больший вес с меньшими повторами или наоборот (в случае с экстензией, например, это 50х10 и 35-40х15) и перемноженное это все на дистанции даст наглядную картину. Ну можно еще не напрямую перемножать а нолик убирать но тут я еще не думал в деталях.