Технологическая карта проекта: Фитнес-приложение

Общая информация
Статус
Завершен, поддерживается

Цель и функциональность

Цель: Создать полноценное веб-приложение для онлайн-фитнеса, позволяющее пользователям находить, добавлять и проходить тренировки с отслеживанием прогресса.
Ключевые возможности:
  • Авторизация и регистрация - безопасный вход/выход с валидацией email и пароля.
  • Главная страница - каталог всех доступных курсов с возможностью поиска.
  • Страница курса - детальная информация, список направлений, кнопка "Добавить в профиль".
  • Личный профиль - персональный список курсов, удаление курса, сброс прогресса, кнопка для начала тренировки.
  • Тренировка - интеграция видео, пошаговый список упражнений, сохранение прогресса, отметка о выполнении.
  • Адаптивный дизайн - корректная работа на мобильных устройствах, планшетах и десктопах.
  • Система уведомлений - информативные тосты (успех, ошибка, предупреждение) вместо стандартных alert.
  • Отслеживание прогресса - процент выполнения курса и отдельных упражнений.

Технологический стек

Компонент/Технологии
Фреймворк
React 19
Язык
TypeScript
Сборка
Vite
Маршрутизация
React Router DOM
Стилизация
SCSS-модули
Качество кода
ESLint, Prettier
Тестирование
Vitest, Testing Library
Деплой
Vercel (с настроенным SPA-роутингом)
Хранение данных
Внешнее API (упоминается в коде)

Детали реализации

  • Типизация: Использование TypeScript обеспечивает надежность кода и облегчает его поддержку.
  • Управление состоянием: Для глобального состояния используется Context API (авторизация, данные профиля).
  • API-взаимодействие: Реализованы запросы к внешнему API для получения курсов и управления данными пользователя.
  • Маршрутизация: Настроен SPA-роутинг с защищенными маршрутами (доступ к профилю и тренировкам только после авторизации).
  • Тестирование: Написаны юнит-тесты для ключевых компонентов и функций, что подтверждает надежность приложения.

Планы по развитию (опционально)

  • Добавить возможность создавать собственные тренировки.
  • Внедрить систему достижений и наград для мотивации.
  • Добавить социальные функции (делиться прогрессом, соревноваться с друзьями).
  • Интегрировать дополнительные метрики (калории, частота пульса).
Жми чтобы открыть приложение
Made on
Tilda