🛒

Интернет-магазин с админкой

Магазин, который владелец ведёт сам: товары, цены, остатки и заказы без разработчика

Делаем интернет-магазин, который владелец ведёт сам. Товары, цены, остатки по размерам, тексты и заказы правятся в панели управления, а о каждом новом заказе владелец узнаёт в Telegram. Итог заказа считает сервер, поэтому цену в корзине не подделать.

Такой магазин работает у нас в продакшене: магазин школьных и повседневных рубашек на Nuxt и FastAPI. Если важнее привычная админка, делаем витрину на WordPress, как для «Дыхания Поволжья». На той же связке Nuxt и FastAPI сейчас в разработке платформа онлайн-курсов BruDgital.

С какой задачей приходят

Типовые ситуации и что мы в них делаем.

Продаёте по звонкам и переписке

Покупатель гадает о размере и цвете в переписке, а заказы теряются в мессенджере. В магазине он выбирает цвет и размер на странице товара, а заказ с выбранными позициями приходит владельцу в Telegram.

Каждую цену меняет разработчик

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

Онлайн-оплата пока не нужна

Магазин работает и без приёма платежей на сайте: оплата при получении или заказ через переписку. Для бренда «Дыхание Поволжья» корзина передаёт готовый заказ в чат сообщества ВКонтакте.

Что мы делаем

Что входит в эту задачу. Цена — ориентир «от», точная сумма — после бесплатного аудита.

Интернет-магазин с панелью управления

Магазин на Nuxt и FastAPI: каталог с разделами, карточки с расцветками, таблицей размеров и несколькими фото, корзина и оформление заказа на несколько товаров. Владелец ведёт товары, цены и заказы сам. Работает на сервере, о заказах сообщает в Telegram.

Остатки по размерам и оптовые цены

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

Заказы в Telegram и защищённая панель

Заказ дублируется в чат владельца. Доступ к уведомлениям для других людей выдаётся ботом: владелец одобряет заявку кнопкой. Вход в панель блокируется на 15 минут после 5 неверных паролей подряд.

Сайт-витрина на WordPress с заказом через ВКонтакте

Каталог с объёмами, розничной и оптовой ценой и корзиной на устройстве покупателя. Заказ уходит в чат сообщества ВКонтакте с готовым составом, бот сообщества читает тот же каталог с сайта. Цены, наличие и тексты заказчик правит в привычной админке WordPress.

Что входит в результат

Что остаётся у заказчика после сдачи проекта.

  • Панель управления: товары, фото, цены, остатки, заказы и тексты сайта
  • Фото с телефона: сервер сам поворачивает кадр, уменьшает его и переводит в лёгкий формат webp
  • Уведомления о новых заказах в Telegram
  • SEO-разметка: заголовки и описания страниц, разметка товара с ценой и наличием, карта сайта
  • Вёрстка под телефон и компьютер, светлая и тёмная тема
  • Запуск в Docker с HTTPS на сервере заказчика или нашем
  • README в формате ТЗ и CHANGELOG
  • Месяц бесплатной поддержки после сдачи, код и данные остаются у заказчика

Кейсы по теме

Где мы это уже сделали — с задачей, решением и цифрами.

Как идёт работа

От заявки до сдачи: на каждом шаге понятно, что происходит и что дальше.

  1. 1

    Заявка и бесплатный аудит

    Разбираем ассортимент, как сейчас идут продажи и что владелец будет менять сам. Вместе составляем ТЗ: что делаем и как проверим результат, — выбираем Nuxt или WordPress и называем смету.

  2. 2

    Каталог и панель управления

    Описываем разделы, варианты товара, остатки, условия опта и путь заказа. Панель управления проектируем под то, что меняет владелец.

  3. 3

    Разработка на тестовом адресе

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

  4. 4

    Запуск и сдача

    Разворачиваем магазин в Docker с HTTPS и проверяем по критериям приёмки из README. Передаём код, доступы, документацию и инструкцию для владельца, месяц поддержки бесплатно.

На чём делаем

Nuxt / Vue 3 →
Страница собирается на сервере и отдаётся готовым HTML, поэтому поисковый робот видит товары сразу.
FastAPI →
Программа на сервере, которая отдаёт каталог, принимает заказы, пересчитывает цены и хранит настройки сайта.
MySQL и Redis →
MySQL хранит товары, варианты, остатки и заказы. Redis — быстрый кэш и сессии входа в панель.
WordPress →
Привычная админка для заказчика, если она важнее своей панели. Тему пишем под проект, без сторонних плагинов и конструкторов.
Docker →
Магазин запускается одинаково на компьютере разработчика и на сервере, а переезд на другой сервер не ломает настройки.

Частые вопросы

Сколько стоит интернет-магазин с админкой?
Интернет-магазин на Nuxt и FastAPI с панелью управления — от 85 000 ₽. Витрина на WordPress с заказом через ВКонтакте — от 60 000 ₽. Каждый дополнительный язык +5 % к смете. Точную сумму называем в коммерческом предложении после бесплатного аудита, почасовой оплаты нет. Сопровождение после сдачи — от 6 000 ₽ в месяц, первый месяц бесплатно.
Смогу ли я сам менять товары и цены?
Да. В панели управления вы добавляете товары и фото, меняете цены и остатки, отмечаете «хит» и «новинку», снимаете товар с витрины и видите заказы со звонком покупателю в один клик. Контакты, тексты страниц и частые вопросы правятся там же. Разработчик для этого не нужен.
Как вести остатки по размерам и цветам?
В карточке товара заводится список цветов, у каждого цвета свои размеры с остатком. Размер без остатка пропадает с витрины, как и цвет без размеров. Выбор покупателя попадает в корзину, заказ и уведомление владельцу.
Можно ли принимать оплату на сайте?
В магазине рубашек, который мы сделали, оплата пока при получении, приём платежей на сайте не подключён. В витрине «Дыхание Поволжья» оплаты нет намеренно: заказ уходит в сообщество ВКонтакте. Нужна ли оплата на сайте и какая, обсуждаем на аудите.
На чём лучше делать магазин: на Nuxt или на WordPress?
Зависит от того, что должен уметь магазин. Магазин с размерами, цветами, остатками и оптом мы собрали на Nuxt и FastAPI со своей панелью. Витрину без онлайн-оплаты собрали на WordPress с собственной темой, потому что заказчику была нужна привычная админка. Выбор делаем после аудита.
Как защищена панель управления?
Пароли хранятся в виде хэшей, то есть не в открытом виде. После 5 неверных паролей подряд вход для этого логина блокируется на 15 минут, с какого бы адреса ни подбирали пароль. Панель открывается на отдельном поддомене, а все изменения через сервер требуют входа.
Будет ли магазин виден в поиске?
Витрина собирается на сервере, поэтому поисковые роботы получают готовый HTML с товарами. У каждой страницы свои заголовок и описание, на товаре стоит разметка Product с ценой и наличием, карта сайта собирается автоматически, а панель закрыта от роботов.

Ещё в разделе «Сайты и интернет-магазины»

Соседние задачи и всё направление целиком.

Обсудим вашу задачу: Интернет-магазин с админкой

Короткий разбор — бесплатно: посмотрим задачу и скажем, что и за сколько имеет смысл делать.