07.06.2026 Технический разбор RU

Tea Taste: как превратить дегустацию чая в воспроизводимые данные

Разбор идеи и функций Tea Taste — веб-приложения, которое фиксирует параметры заваривания и сенсорные впечатления по проливам и превращает субъективную оценку чая в структурированную запись.

Никита Конкин

Проект Репозиторий (фронтенд)
Языковые версии: RU EN

Дегустация чая обычно остаётся в памяти и нескольких разрозненных заметках: вода, температура, время пролива, ощущения. Такую информацию трудно сравнивать между собой и почти невозможно воспроизвести. Tea Taste решает именно эту задачу — переводит субъективную оценку чая в структурированную запись, которую можно сопоставлять с другими и повторять.

Идея

В основе проекта лежит простое наблюдение: впечатление от чашки чая складывается из двух разных по природе частей. Первая — объективные параметры заваривания: сорт, навеска, вода, температура, посуда, способ. Вторая — субъективные сенсорные ощущения: аромат и вкус, которые к тому же меняются от пролива к проливу.

Приложение намеренно разделяет эти две части. Объективные параметры задаются один раз для всей дегустации, а сенсорная оценка ведётся отдельно по каждому проливу. Благодаря этому одну и ту же заварку можно описать честно: не «чай вкусный», а «третий пролив на воде 90 °C дал более плотный аромат, чем первый».

Модель данных

Запись о дегустации состоит из нескольких связанных сущностей, объединённых идентификатором сессии (sessionId):

  • Чай (teaform) — параметры заваривания: название, страна, магазин, тип, навеска, бренд и объём воды, температура, цена за грамм, способ заваривания, посуда, флаг публикации и средняя оценка.
  • Пролив (brewing) — отдельная заварка в рамках сессии: текстовое описание, время и оценка пролива, порядковый номер (brewingCount).
  • Аромат (aroma) и вкус (taste) — фиксируются по стадиям (stage1, stage2, stage3), что отражает развитие букета в пределах одного пролива.

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

Функции приложения

Многошаговая форма. Ввод разделён на два этапа: сначала параметры чая и заваривания, затем сенсорная оценка. Черновик сохраняется в localStorage, поэтому случайное закрытие вкладки не теряет введённые данные.

Справочники с автодополнением. Поля названия, страны, магазина, воды, посуды и способа заваривания опираются на подготовленные списки — от китайских сортов (Лунцзин, Те Гуаньинь, Да Хун Пао) до розничных марок и брендов воды. Это ускоряет ввод и удерживает названия в едином виде, что важно для последующего сравнения.

Оценка по проливам. У каждого пролива своя оценка по шкале до десяти, выставляемая кастомными иконками-пиалами, и собственное описание. Из оценок проливов складывается средняя оценка чая.

Встроенный таймер. Для выдержки пролива предусмотрен таймер со звуковым сигналом — мелкая, но практичная деталь: руки заняты чайником, а не секундомером.

Публичная лента. Дегустацию можно отметить как публичную и опубликовать. На стороне API публичные и приватные данные разведены по отдельным маршрутам.

Архитектура

Проект разделён на фронтенд и бэкенд.

  • Фронтенд — одностраничное приложение на React (Create React App) и Material UI. Формы построены на react-hook-form, маршрутизация — на react-router, защищённые разделы доступны только после входа.
  • Бэкенд — REST API на Node.js и Express с хранением данных в MongoDB через Mongoose. Аутентификация реализована на JWT с хешированием паролей (bcryptjs), входные данные проверяются через celebrate, а базовая защита обеспечивается helmet, ограничением частоты запросов и настройкой CORS.

Оба сервиса упакованы в Docker, что делает запуск окружения воспроизводимым.

Что дальше

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

Теги

программирование react nodejs express mongodb продукт

Другие обновления по проекту

23.07.2026 Технический разбор Tea Taste — цифровой журнал дегустации чая

Tea Taste: восемь скрытых отказов бэкенда, которые нашло код-ревью

Разбор восьми стабильностных дефектов в API Tea Taste, найденных при код-ревью после июльского релиза: двойной HTTP-сервер, ошибки, которые молча проваливались мимо обработчиков...

21.07.2026 Технический разбор Tea Taste — цифровой журнал дегустации чая

Tea Taste: вход через VK, публичная лента и админ-панель — большое обновление

Разбор крупного обновления Tea Taste (teaform.ru): авторизация через VK ID, редактирование дегустаций, восстановление пароля, публичная лента с профилями авторов, обратная связь...