Gym Buddy Backend — это серверная часть приложения Gym Buddy для создания, управления и отслеживания тренировочных сессий.
Note: Это первая попытка реализации подобного приложения. В следующей версии, опираясь на опыт, полученный в этом проекте, планируется:
- Отказ от Ant Design в пользу собственных стилей с использованием styled-components;
- Использование мета-фреймворка Next.js;
- Пересмотр архитектуры приложения.
- Регистрация и авторизация пользователя с использованием JWT.
- CRUD-функции: создание, обновление, удаление упражнений;
- Фильтрация по названию: быстрое нахождение нужного упражнения по его названию;
- Загрузка изображений: добавление наглядного изображения для упражнения.
- Создание плана тренировок: составление плана из ранее добавленных упражнений;
- Упорядочивание упражнений: настройка последовательности выполнения в плане.
- Начало тренировки по плану: запуск плана и фиксация результатов;
- Запись сессий: сохранение даты проведения тренировки и результатов по каждому упражнению;
- Детализация результатов: количество подходов, повторений и рабочий вес для каждого упражнения;
- История сессий: просмотр завершённых тренировок с детализацией.
- Node.js + Express — серверный фреймворк для обработки API-запросов;
- TypeScript — de facto стандарт;
- MongoDB + Mongoose — хранение данных о пользователях, упражнениях, планах и сессиях;
- JWT — безопасная аутентификация и защита маршрутов;
- Winston — структурированное логирование на сервере;
- Docker — контейнеризация приложения для удобного развёртывания.