Магазин семян с оптом и панелью каталога
Семеноводческая компания с собственным производством: сидераты, медоносы, газонные и кормовые травы. Покупатель собирает заказ из культур и фасовок сам, менеджер видит его в панели с весом и суммой.
Что нужно было
сделать
Оптовики берут мешками и сравнивают цену за килограмм, дачники приходят за одной культурой из поиска. Сайт должен работать для обоих: розница видна всем, опт открывается после подтверждения.
Для кого. Закупщики магазинов и хозяйств: им нужен рабочий каталог с фасовками и ценой за килограмм, счёт и договор. Частные покупатели: пришли за фацелией или горчицей и хотят заказать без регистрации.
Путь человека на сайте
- 01Покупатель находит культуру
Разделы, фильтры по назначению и фасовке, поиск с подсказками. У каждой культуры своя страница.
- 02Выбирает фасовку
От 100 г до мешка 25 кг, у каждой цена за штуку и за килограмм. Розница видна всем.
- 03Собирает заявку
Корзина живёт в браузере, состав и сумму считает сервер по ценам из базы.
- 04Опт — после подтверждения
Оптовик оставляет заявку, менеджер подтверждает — в кабинете открываются оптовые цены и история заказов.




У каждой культуры свои фасовки и цены за штуку и за килограмм. Фильтры по назначению, поиск с подсказками.
Оптовые цены после подтверждения менеджером: заявка на опт, счёт, история заказов.
Культуры, фасовки, цены, остатки и заказы правятся в панели управления.
У каждой культуры и раздела свой адрес и описание, карта сайта собирается сама.
Из чего состоит сайт
- Node.js
- Express 5
- SQLite
- Серверный рендер
- Caddy + HTTPS
- Каталог с фильтрамипо назначению культуры и фасовке
- Корзина и заявкасостав и сумму считает сервер
- Личный кабинетистория заказов
- Оптовые ценыпосле подтверждения менеджером
- Панель управлениякультуры, фасовки, цены, остатки
- Статьио посеве, поливе и всхожести
- Загрузка фототип файла проверяется по сигнатуре
- Доставка по Россиирасчёт менеджером после заявки
Разберём ваш случай, метрики и сроки — как в этом проекте. Цена называется до начала работ и не меняется.