Я делаю бесплатное приложение календаря домашних силовых тренировок

Обсудить

Этот текст написан в Сообществе, в нем сохранены авторский стиль и орфография

Исходные данные

Полгода назад я писал на Т⁠—⁠Ж статью про то, как похудел за 9 месяцев на 31 кг.

С тех пор понял, что с работы над жиром пора переключаться на мышечную массу. Нарастить её гораздо сложнее, чем избавиться от жира. За полгода мой вес вырос на 3 кг. Как понять, что из них больше мышц, чем жира — улучшение результатов (например, подтягивания увеличились с 9 до 11 раз). У меня есть фото из августа 24 года(сверху), где вес был 88 кг и актуальное фото с весом 89 кг(снизу). По нему видно, что это не просто +1 кг жира.

Создание

Я работаю фронтенд-разработчиком. До этого я уже писал пет-проекты, например, делал интернет-магазин и библиотеку компонентов. Для того, чтобы разработка шла веселее, параллельно на ютуб канале снимал про это видео и делал трансляции.

5 месяцев назад я начал писать приложение, чтобы сохранять результаты своих тренировок. Особенность в том, что я тренируюсь дома — у меня ограниченный набор оборудования и ещё более ограниченное количество времени, которое я трачу на занятия — судя по статистике в приложении, около 6 часов в месяц. Среднее занятие длится 40-45 минут.

Цель приложения — добавить ценности и осмысленности тренировкам, дать дополнительную мотивацию, сделать нормальное планирование.

Итоги и планы

Фронт: Typescript, Vite, Vue, Tanstack Query, Vitest

Бэк: Typescript, Fastify, Mongoose, MongoDB, Swagger

Название: app-fit

Я стараюсь соблюдать какую-то грань между скоростью и качеством, например, использую более-менее расширяемую архитектуру, пишу юнит-тесты (уже 370), но не сильно пока работаю над обработкой ошибок, дизайном и маркетингом.

Сейчас в приложении можно регистрироваться, добавлять своё оборудование, выбирать веса для каждого упражнения по-умолчанию.

Вы формируете занятие из доступных упражнений, выбираете вес и количество повторов, можно добавлять сеты из разных упражнений, можно добавлять сразу несколько подходов одного упражнения. Затем сразу начинаете занятие или добавляете его в календарь.

В процессе выполнения занятия вы запускаете и останавливаете таймер. Благодаря этому сохраняется статистика по среднему времени выполнения каждого упражнения. Это даёт возможность видеть примерную длительность будущих занятий ещё при планировании.

На экране статистики есть календарь, графики и таблица с упражнениями. Отдельно упомяну таймлайн каждого занятия во всплывающем окне внутри календаря. Наглядно видно, как проходило занятие, какие были перерывы на отдых. Занятия можно копировать, информацию о том, что было внутри одного занятия также можно скопировать в буфер обмена, чтобы, например, скинуть в удобном виде своему тренеру в телеграм.

Сейчас функциональность покрывает большинство моих потребностей, но в планах внедрение функциональности:

  • — мультиязычность;
  • — добавление пользователями своих упражнений;
  • — корректировка веса, использованного в подходе;
  • — редактирование занятия в процессе его прохождения;
  • — тип пользователя "Тренер", с возможностью планировать тренировки подопечных;
  • — оффлайн-режим;
  • — таймер времени отдыха;

Приложение бесплатное, с открытым кодом. Буду рад конструктивной критике по функциональности, юзабилити и архитектуре.