gornweb
← Все кейсы
КЕЙС 02Интернет-магазин · Админ-панель

Интернет-магазин свежих овощей и фруктов с рынка

Задача

Московский сервис «личный закупщик» работает без склада: покупатель выбирает день доставки, а закупщик в этот день едет на рынок и сам отбирает каждую позицию. Типовой магазин под такую модель не подходил: цена меняется каждый день, точный вес известен только после взвешивания, у приёма заказов есть крайний срок, ассортимент зависит от сезона, а продажи держатся на доверии к закупщику.

Что сделал

Витрина с честной вилкой цены и выбором дня доставки, личный кабинет, блог, серверная часть и админ-панель из 11 разделов, в которой владелец сам ведёт товары, цены, сезонные предложения и заказы. Развернул проект на сервере в Docker.

Результат

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

  • Собственная админка без абонплаты
  • Редактор статей как в Notion
  • Свой мониторинг ошибок
Срок
от 4 месяцев
Стоимость
от 550 000 ₽
Платформа
Без абонплаты
Перейти на сайт vkusnoru.ru ↗
vkusnoru.ru — витрина
Как устроено

Честная вилка цены вместо ценника

Покупатель заранее видит примерную сумму заказа и знает, что заплатит по фактическому весу.

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

Доставка в выбранный день

Покупатель с первого экрана знает, когда привезут заказ, а закупщик получает заказы к конкретному дню закупки.

День доставки выбирается прямо на главной странице из ближайших шести. Заказы принимаются до 21:00 накануне. Ближайшая дата рассчитывается автоматически и видна на первом экране, а выбранный день подставляется в заказ. Время приёма заказов владелец меняет в админке.

Варианты товара и сезонность

Покупатель выбирает конкретный вариант и сразу видит, что сейчас на пике сезона.

У товара может быть несколько вариантов — по стране происхождения и калибру, у каждого своя цена и свои фото. Отдельный раздел «Сезонное» с отметкой «пик сезона» владелец заполняет из админки.

Сайт вокруг личного бренда

Покупатель знает, кто и как выбирает для него продукты.

На сайте есть блоки «Как это работает» и «Свежее, чем в супермаркете», заметки закупщика на карточках товаров, отзывы с оценкой и блог с рубриками.

Личный кабинет с входом в один клик

Повторный заказ оформляется быстрее: пароль не нужен, адрес уже сохранён.

Вход через Яндекс ID. В кабинете — история заказов, избранное, отзывы и комментарии. Сохранённые адреса подставляются при оформлении заказа.

Ни один заказ не теряется

Заказ не потеряется из-за сбоя уведомлений и не оформится по устаревшей цене.

Заказы и заявки сразу приходят владельцу в Telegram и на почту. При оформлении сервер заново считает сумму по текущим ценам и проверяет наличие. Если цена изменилась или уведомление не дошло, заказ отмечается в админке.

Админ-панель из 11 разделов

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

Главная панель показывает заказы, выручку, товары по наличию и заказы, которые требуют внимания. В товарах и категориях — варианты и цены, наличие (есть, предзаказ, нет), похожие товары, категории любой вложенности и SEO-настройки. Медиатека с папками: загруженные фото сами сжимаются в WebP и подгоняются под нужный размер. Статьи собираются из блоков — текста, изображений, цитат и видео, а подборки товаров вставляются прямо в текст. Отдельно — модерация отзывов и комментариев, настройки доставки и сезона.

SEO и скорость

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

Для каждого товара, категории и статьи настраиваются мета-теги, картинки для соцсетей и индексация. Карта сайта (sitemap.xml) создаётся автоматически, микроразметка описывает магазин, товары с ценами, статьи и хлебные крошки. Страницы собираются на сервере и кэшируются, поэтому открываются быстро. Подключаются Яндекс.Метрика и Google Analytics.

Надёжность и безопасность

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

Формы защищены от спама и ботов, вход в админку — от подбора пароля: все входы пишутся в журнал, а при входе с нового IP-адреса приходит письмо. Ошибки сервера и браузеров покупателей собираются в админке. Сайт работает на сервере в Docker, работоспособность проверяется автоматически.

Технологии

Next.js 15, React 19, TypeScript, Tailwind CSS, NestJS, Prisma, PostgreSQL, Docker.