ТЗ FitUnit

Общие сведения

 — Проект высокопосещаемый, нужно максимально оптимизировать скорость работы и нагрузку (кэширование, минимизация запросов к БД, и прочее, где это возможно)

— Весь функционал должен быть кроссплатформенный, фронтэнд — адаптивный (в целом, приоритет на мобильную версию, нужно следить, чтобы весь интерфейс помещался в 320px по ширине)

— Для каждого пункта нужны отдельные страницы, записи, рубрики (или другая таксономия), т.к. к ним будут привязаны уровни доступа

— В админке должна быть возможность редактировать и удалять все внесенные данные. 

 

————————-

 — Макеты* страниц сверстаны с использованием плагина Quform  — он позволяет сохранять введенные данные в БД, использовать логику и т.п., думаю, упростит задачу.( PHP классы, документация, показать заполненную форму на другой странице, результат в пдф)

  Также задействован конструктор страниц — WPBakery Page Builder (в прошлом Visual composter)

— Нужно «вдохнуть жизнь» в макеты, либо по их образу и подобию сделать с нуля. Думаю, необходимый функционал понятен визуально, и исходя из сайтов-конкурентов**.

 Изучайте их подробно, кликайте на все ссылки и кнопки, многие детали не описаны в ТЗ, а просто визуализированы в макетах.

 Если в процессе работы видите какие-то мелкие косяки верстки, то поправляйте их тоже. Крупные косяки и глюки — можно за доплату 

По сайту в целом:

— Нужно дать возможность юзерам скачивать некоторые свои результаты в PDF  (опционально, если трудно с реализацией — уберем этот функционал) 

    Сейчас там в примерах активирован плагин DK PDF, но он не «видит» результат, и берет со  страницы все лишнее. Возможно его можно допилить… В общем, на ваше усмотрение.

 Также нужна  функция «сохранить в личном кабинете», о ней ниже будет отдельный пункт

Все кнопки «удалить» должны предварительно вызвать диалоговое окно «Вы уверены, что хотите удалить данные»? 

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

По завершении, или заранее нужно оптимизировать сайт, убрав лишние, неиспользуемые стили и скрипты, плагины и прочий «мусор» (от bbpress, woocommerce и т.п.)

—————-

*Для некоторых страниц или их частей нет рабочих макетов, только в картинках для наглядности, либо «на словах»

**Возможно, для лучшего понимания задачи, вам стоит изучить сайты https://fit-side.com , https://www.fatsecret.ru/ (требуют регистрации), https://beregifiguru.ru/ . fatsecret.ru выступает донором для парсинга данных

 

—————————————

 

Функционал личного кабинета юзеров

 Личный кабинет юзеров сделан с помощью плагина wp-recall, FAQ по нему. Практически весь нужный нам функционал привязан к личному кабинету

Инструкция, которая пригодится

Важно не править ничего в самом ядре плагина, чтобы не слетало при обновлении, а использовать глобальные стили, и файлы шаблонов  (их предварительно  копировать в папку: /wp-content/wp-recall/templates/)

Используйте  ajax где это возможно, чтобы юзерам было удобнее. 

Дневник веса:

 UPD. Почти готов, подробности тут — https://fitunit.ru/2-1-dnevnik-vesa-2-2-zamery-tela-2-3-1-tseli/

Используется этот плагин — https://fitunit.ru/wp-admin/admin.php?page=ws-ls-weight-loss-tracker-main-menu

Действующий функционал  — https://fitunit.ru/treker-vesa/ нужно переделать и расширить

Макет — https://fitunit.ru/dnevnik-vesa/

Желательно привязать к этому макету, ну или переверстать текущий чтобы было похоже

Здесь и кое-где дальше присутствует кнопка «поделиться», для примера. Реализация может быть другой, на ваше усмотрение

————————————

 Замеры тела:

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

UPD. Почти готов, подробности тут — https://fitunit.ru/2-1-dnevnik-vesa-2-2-zamery-tela-2-3-1-tseli/

 

Макет страницы — https://fitunit.ru/zamery-tela/

  • История замеров

Быстрый доступ к текущему замеру, первому, и 5 последним.

  • Статистика замеров

Графики вставлены от WPBakery Page Builder, другие исходники есть, например, тут — https://www.chartjs.org/  или от гугла https://developers.google.com/chart/

—————————

Питание

Мои цели

UPD. Почти готов, подробности тут — https://fitunit.ru/2-1-dnevnik-vesa-2-2-zamery-tela-2-3-1-tseli/ 

Макет — https://fitunit.ru/moi-tseli/

Нужен импорт из калькулятора — https://fitunit.ru/kalkulyatory/rashod-kalorij-za-sutki/

данные юзер заполняет при регистрации. Подробнее

 Ежедневные показатели должны сохраняться, даже если они не менялись, это будет нужно для построения статистики. 

Дневник питания

 

Один из самых объемных пунктов. Обратите внимание на каждый элемент макета.

Функционал дневника не стал расписивать подробно, думаю, из макета все относительно понятно… если в двух словах:

Юзеры записывают что они едят, ведут учет потраченных и потреблённых калорий и т.п.

Система считает добавленные калории и прочие данные, показывает сколько до целевых.

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

Нужно оповещение юзеру, если цель не задана. При изменении цели перерасчёт данных только за сегодня

Имеется база продуктов/блюд, поиском по которой юзер находит продукты и добавляет в дневник, указав вес порции в граммах.

Здесь и далее В поиске нужно автозаполнение, подсказки, живой поиск по БД. Вроде этого решения — https://sphinxsearch.com/

Найденный продукт, созданные и измененные продукты юзер может сохранить себе в «мои продукты»

Помимо поиска юзеру должны быть доступны его сохраненные и недавние продукты. (недавних 15-20 будет достаточно), а так же импорт блюд из своих планов питания (о них ниже). UPD: добавление из каталога и часто используемые — не нужны, удалите их при верстке макета

 

Базу продуктов парсим отсюда:

Основной источник — https://www.fatsecret.ru/калории-питание/ (требуется регистрация для доступа к списку продуктов)

Нужно также создать все соответствующие категории и подкатегории

Продукт должен содержать информацию по Калориям, белкам, жирам, углеводам на 100гр. Если у донора отсутствует инфа по калориям — пропускаем

UPD: из размеров порций убираем фунты, унции и жидкие унции, для остальных (чашка, порция, банка и прочее) нужно будет автоматом считать вес исходя из калорий. Например, если в 100г — 200ккал, а в порции 400ккал, значит ее вес — 200г

Пример продукта — https://fitunit.ru/zharenyj-ris-so-svininoj/

Альтернативные источники, если по каким-то причинам основой спарсить не получается:

 https://bonfit.ru/kalorii/   https://findfood.ru/product

https://www.calorizator.ru/product/all ,  

Кроме продуктов юзер также может добавить текстовую заметку

 

—————————————

 Планы питания

https://fitunit.ru/plany-pitaniya/ 

 Функционал чем-то похож на дневник питания, в плане добавления еды в приемы пищи»завтрак», «обед» и т.д.

Структура данных включает название плана, номер недели, номер дня и его название (понедельник, вторник…)

Юзеру должны быть доступны:  сохранение, экспорт/импорт плана для обмена между юзерами (сам файл должен быть только для пользования внутри системы, что-то вроде «planname.FitUnit», а внутри xml, csv и тп, на ваше усмотрение), размещение в публичном каталоге, редактирование, перемещение в архив и обратно, удаление. Нужна возможность вставить прием пищи из плана в дневник

 Когда юзер выбирает «показать все» дни плана, то они должны быть свернуты в аккордионе. Реализовать посредством конструктора не смог, т.к. не дает вложить аккордеон внутрь аккордеона. Примерно так должно выглядеть — https://fitunit.ru/udalit-akkordeon-plany-pitaniya/

Макет добавления нового — https://fitunit.ru/novyj-plan-pitaniya/

Макет добавления публичного плана — https://fitunit.ru/dobavit-plan-pitaniya-public/ 

Система должна автоматом считать среднее количество калорий в день для каждого добавленного плана питания 

Каталог публичных планов — https://fitunit.ru/programmy-pitaniya-public/  (фильтры нужно привязать к чему то… например, меткам, категориям и т.п.)

Страница публичного плана — https://fitunit.ru/dieta-dlya-lenivyh-minus-5-kg/

————————————

Мои блюда

Макет — https://fitunit.ru/my-added-food/

Сюда прилетают импортированные и добавленные юзерами вручную блюда из планов питания и дневника. Юзер может добавлять новые, смотреть инфу по каждому, редактировать и удалять.

рецепты

Также нужна интеграция с плагином рецептов — Le Chef — Recipes Manager , юзер может поделиться рецептом своего блюда для всех.

Эта страница — https://fitunit.ru/dobavit-retsept/ дублирует функционал родной от плагина — https://fitunit.ru/add-a-recipe/  , главное отличие в том, что ингредиенты добавляются из базы, и, соответственно, всякие калории и  т.п. система считает автоматом

Желательно привязать к этому макету, ну или переверстать родную чтобы было аналогично

редактирование добавленных рецептов тут — https://fitunit.ru/chef-dashboard/ , тоже нужно привязать к новому макету

тут список рецептов с фильтрами https://fitunit.ru/recipes-book/

***возможно, проще будет сделать свой плагин с похожим функционалом, чем адаптировать текущий

—————————

Статистика по питанию

Юзер может посмотреть данные по потреблению, который формируются из дневника питания

макет — https://fitunit.ru/statistika-po-pitaniyu/

если юзер выбирает показать суммарные данные, то вместо графика формируется таблица

В стате по самым калорийным и частым блюдам показывает топ 3 блюд за период. 0 ккал и воду нужно исключать, по воде есть отдельный блок статы

UPD: 06.03 — добавил «искушения«, подробности в файле

———————————————

 Тренировки 

Сильно похоже на предыдущие этапы по верстке и по функионалу. Думаю, много чего можно сделать копи-пастом и заменой (КБЖУ на подходы, повторения, вес, расстояние, например)

Дневник тренировок

макет — https://fitunit.ru/dnevnik-trenirovok/

UPD: 07.05.19: Добавил возможность загружать фотки (не более 1 фото для 1 дня)

UPD: 06.03.19: Добавил испытания (аналог искушений), описание тренировки, и виды упражнений (суперсеты и дропсеты).

Примерная верстка в плане тренировок — https://fitunit.ru/programma-trenirovok-bitsepsov-dlya-zhenshhin/

Во многом аналогично дневнику питания (думаю, оформление блоков можно взять оттуда) Юзер добавляет физическую активность из базы или вручную. Может посмотреть инфу по каждой активности, редактировать ее, сохранять в «мои упражнения», удалять. 

При добавлении упражнения в дневник или в план тренировок, юзер указывает вручную подходы, повторения, отдых, вес, время, расстояние, калории  (Их видно если выбрать пример из моих упражнений или недавних)

[устарело]

Базу активности с энергозатратами привязанными к весу и времени парсим отсюда  

https://beregifiguru.ru/Расход/Категории

https://www.fatsecret.ru/Diary.aspx?pa=aja

https://www.myfitnesspal.com/ru/exercise/lookup

Последний требует регистрации

Часть из них повторяются, нужно автоматом отсечь дубли, и вручную пройтись потом по базе, удалить неявные дубли и мусор. Там не только спорт, но и разная активность вроде игры на гитаре…

У доноров указан расход калорий на 70кг веса. Нам нужно, наверное, вбить в базу расход на 1 кг. А вес брать из дневника (если юзер там не указал вес, то сообщение — «вы не указали вес, внесите ваш текущий в дневнике веса»)

upd 02.03.19. В этих источниках отсутствует описание, фото и видео (ютюб), поэтому нужна возможность добавить все это вручную.

В открытый каталог упражнений эта БД не попадает, используется только в блоке «тренировки».

——

Для открытого каталога парсим упражнения отсюда  — https://ru.plantip.com/fitness-exercise (Разбивка по мышцам и снарядам, мышцы — подкатегории сайта, снаряды — метки).

[/устарело]

UPD 15.04.19.  Парсить не нужно, базу собрали и импортировали

Пример упражнения — https://fitunit.ru/diary-exercise/aerobika/ — нужна возможность добавления упражнения в «мои упражнения», вписав расход калорий

Упражнения делятся на те, для которых есть данные по расходу калорий — https://fitunit.ru/wp-admin/edit.php?post_type=diary-exercise, и для которых их нет — https://fitunit.ru/wp-admin/edit.php?post_type=exercise

CSV файлы имеются.

————————-

Планы тренировок

UPD: 06.03.19: Добавил виды упражнений (суперсеты и дропсеты). Примерная верстка в плане тренировок — https://fitunit.ru/programma-trenirovok-bitsepsov-dlya-zhenshhin/

Макет — https://fitunit.ru/plany-trenirovok/ 

Во многом аналогично планам питания (думаю, оформление можно взять оттуда)

Структура данных включает название плана, описание, номер недели, номер дня и его название (понедельник, вторник…), упражнение, инфа о нем, количество подходов, повторений, время отдыха. Каждое упражнение можно редактировать сохранять в «мои упражнения» и удалять.

Юзеру должны быть доступны: Сохранение, экспорт/импорт плана для обмена между юзерами (сам файл должен быть только для пользования внутри системы), редактирование, перемещение в архив и обратно, удаление. Нужна возможность вставить активность из плана в дневник. При добавлении показывает внесенные данные по подходам весу и прочему, которые можно отредактировать перед добавлением. 

Макет добавления нового плана — https://fitunit.ru/novyj-plan-trenirovok/ (поиск упражнений по базе, либо ввод вручную и добавление их в конкретный день конкретной недели нового плана тренировок) 

Нужна возможность публиковать готовые планы для общего доступа , и соответственно, импортировать готовые к себе в профиль

макет: https://fitunit.ru/programmy-trenirovok-public/ 

 

————————-

Мои упражнения

Макет — https://fitunit.ru/moi-uprazhneniya/

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

——————————

Статистика тренировок

Макет — https://fitunit.ru/statistika-trenirovok/

Формируется из дневника тренировок

Если дневник за день пуст, не отмечен как день отдыха или не внесены калории — то записываем этот день в «пропущенные» 

UPD: 07.05.19: Добавил вывод фоток и заметок за период

—————————————

Сохраненные данные

Макет — https://fitunit.ru/sohranennye-dannye/

Сохраняем анкеты, файлы импорта…

 

Возможно, этот плагин чем-то поможет — https://codeseller.ru/products/download-monitor-to-wp-recall/

—————————————-

 

Анкета

 https://fitunit.ru/anketa/

После внесения всех данных, нужна возможность скачать готовый файл как pdf, и автоматом сохранить в ЛК.

——————————— —————-

 Ввод данных после регистрации

Сейчас после регистрации юзера перекидывает на страницу https://fitunit.ru/posle-registratsii/  где он сразу может внести важные для системы данные. Вес пишем в текущий в дневник веса. Если введен желаемый вес, его пишем  в «целевой»

Пол, возраст, рост — сохраняются в профиле 

Для расчета калорий используем — калькулятор https://fitunit.ru/kalkulyatory/rashod-kalorij-za-sutki/ , результат записываем в «мои цели»

 

При нажатии на кнопку «пропустить» должно перекидывать на ту страницу, с которой регистрировался юзер, аналогично, после кнопки «сохранить»

Главная страница

Макет —  https://fitunit.ru/home-premium/

нужно будет вывести некоторые данные из дневников и инфу по блюдам, с добавлением в свой список

Нужно сохранить верстку и содержимое. Если получится, сразу на этой странице работайте.

Страница для обычных юзеров — https://fitunit.ru/home-simple/ (нужно вынести только искушения/испытания)


 

Дополнительно: Правки верстки

подробности в файле — https://fitunit.ru/verstka_FitUnit.docx

UPD: По верстке многое из изначальных задач сам сделал, и добавил несколько новых. Старый файл, для сравнения — https://fitunit.ru/verstka_fitunit_old.docx

———————————————————————————

UPD 03/03/19  Конструктор целей

Подкинули вроде хорошую идею, сделать простой конструктор целей… Набросал макет — https://fitunit.ru/custom-targets/

В профиле юзера (ну или если это сложно, то на отдельной странице) нужно вывести статистику по целям

макет публичных данных  — https://fitunit.ru/account/?user=80&tab=public-targets

Партнерская программа — это когда по вашей рекомендации человек делает какое-то действие, например, покупает что-то, где-то регистрируется. А вы в свою очередь получаете комиссию за то, что привели этого человека… Подробнее можно почитать в Википедии

Как это работает?

Вы даете свой код приглашения, и получаете 20% от всех денег потраченных на покупку и продление Премиум-аккаунта вашими рефералами (людьми, которые зарегистрировались по вашему коду).

Заработанные деньги поступают на ваш баланс, их вы можете потратить внутри системы, либо вывести на банковскую карту либо на Яндекс.Деньги 

Реферальный процент выплачивается за счет средств FitUnit, т.е., вы таким образом не забираете ничего от привлеченного партнера!

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

————

Важно! Чтобы приглашенный человек стал вашим рефералом, он должен ввести ваш промокод при регистрации

×

Спросить в чате
Если у вас простой вопрос

Написать на e-mail
Для вопросов, требующих развернутого ответа

CAPTCHA image
×
×

Если вам не нужны такие функции как: личные сообщения, публикации, рецепты, калькуляторы и другие, то можно переключиться на версию «лайт». 

Она проще в освоении и работает немного быстрее.

×
Пожаловаться на эту публикацию
×
×
Пожаловаться на пользователя

Запретить ЛС и скрыть публикации

Вы можете заблокировать пользователя, нажав кнопку "меню" в его профиле
×
Пожаловаться на эту публикацию
×
Пожаловаться на комментарий

Запретить ЛС и скрыть публикации

×
+

Авторизация

* *
*

это поле для отлова сппаммеров, не заполнайте его, если видите

Регистрация

К сожалению, регистрация возможна только в приложении:
Ознакомьтесь с условиями использования:
Публичная оферта    Политика конфиденциальности

Генерация пароля