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)


  1. Kwisatz
    04.09.2025 09:52

    Прикольно, тож хочу такое запетить, но с весом


    1. dergunovs Автор
      04.09.2025 09:52

      Веса есть :)


      1. Kwisatz
        04.09.2025 09:52

        Да, я уже увидел, но тогда странно немного у вас сделано. Видимо суть в том что у вас именно домашние, мне лично такое не вставляет, в зал я вроде как ходить даже начал, а вот дома зарядку то с трудом делаю 8( Ну и многоповторку не так чтобы сильно уважаю)

        У вас статистика повторов и подходов, мне, например не интересно, мне больше нравится как гармин показывает статистику.
        Ну например:
        - гиперэкстензия 35х12
        - гиперэкстензия 40х12
        - гиперэкстензия 45х12
        Итого за день: 1440 потвторокилограмм (пкг ?))

        В чем суть? Суть в том что за тренировку количество подходов +- одинаковое, за редким исключением типа болших весов (думаю немного любителей сходу на ноги 200кг насыпать), а прогресс видеть хочется. Кроме того иногда можно брать больший вес с меньшими повторами или наоборот (в случае с экстензией, например, это 50х10 и 35-40х15) и перемноженное это все на дистанции даст наглядную картину. Ну можно еще не напрямую перемножать а нолик убирать но тут я еще не думал в деталях.


  1. SnakeSolid
    04.09.2025 09:52

    Планируете ли добавлять анимации для упражнений, чтобы было наглядно видно как его выполнять?


    1. dergunovs Автор
      04.09.2025 09:52

      Да, можно короткие видео снять