Что реализовано
Описание проекта
Bretelika.ru закрывает обычную боль небольшого интернет-магазина: товары нужно не просто красиво показать, а нормально продавать, обновлять, учитывать и продвигать. В проекте есть витрина для покупателей и админка для команды, которая каждый день работает с каталогом, заказами, скидками, остатками и контентом.
Магазин не завязан на ручные правки в коде. Основные вещи управляются из админ-панели: товары, категории, блог, способы доставки, способы оплаты, промокоды, письма и SEO-настройки. Это делает проект удобным для владельца бизнеса: можно менять ассортимент, запускать акции и обрабатывать заказы без разработчика на каждом шаге.
Витрина
- Главная страница магазина.
- Каталог товаров и страницы категорий.
- Детальные страницы товаров с описанием, вариантами, ценами и остатками.
- Корзина и избранное.
- Оформление заказа.
- Промокоды и накопительные скидки.
- Подсказки адресов при оформлении заказа.
- Страницы доставки, оплаты, акций, FAQ, контактов, политики и пользовательских документов.
- Блог с markdown-статьями и отдельными страницами публикаций.
- SEO-страницы, sitemap, robots и JSON-LD разметка.
Личный кабинет
- Регистрация и вход пользователя.
- Восстановление пароля.
- Профиль покупателя.
- Адреса пользователя.
- История заказов.
- Просмотр отдельного заказа.
- Расчет персональной скидки.
Админ-панель
- Управление товарами и вариантами товаров.
- Управление категориями и порядком вывода.
- Импорт каталога.
- Управление свойствами товаров.
- Загрузка и обработка изображений товаров.
- Управление заказами, включая массовые действия.
- Управление клиентами.
- Настройка способов доставки и оплаты.
- Управление статусами заказов.
- Промокоды и правила накопительных скидок.
- Учет остатков, приходов и списаний.
- Управление блогом, обложками и изображениями внутри статей.
- SEO-настройки.
- Шаблоны писем.
- Общие настройки сайта.
Инфраструктура
- Docker-сборка для production.
- Развертывание на VPS.
- SQLite в WAL-режиме с постоянным volume.
- Отдача загруженных файлов через nginx proxy.
- Версионирование сборки и автообновление открытых вкладок после деплоя.
- Скрипт деплоя через PowerShell и SSH.
- Регулярная очистка Docker-кэша на сервере.
Технический стек
- Next.js 16, App Router.
- React 19.
- TypeScript.
- Drizzle ORM.
- SQLite, better-sqlite3, WAL.
- NextAuth v5.
- Zod.
- Zustand.
- Tailwind CSS v4.
- shadcn/ui.
- Nodemailer и SMTP.
- React Markdown и remark-gfm.
- Sharp для обработки изображений.
- Biome для форматирования и линтинга.
- Vitest и Playwright.
- Docker и Docker Compose.
Роль в проекте
Разработана структура магазина, публичная часть, личный кабинет, административная часть, работа с базой данных, загрузка медиа, SEO-слой, авторизация, заказы, скидки, импорт, настройки и production-доставка.
Что показывает проект
Проект показывает опыт разработки e-commerce системы полного цикла: от каталога и корзины до админки, учета, SEO, деплоя и поддержки рабочей инфраструктуры.