fidals / refarm-site

Django applications with simple ecommerce functions
MIT License
2 stars 2 forks source link
django django-apps ecommerce pdd refarm-site

PDD status

Refarm

bunch of ecommerce django apps

Стандартный функционал для интернет-магазина на Django. Для создания собственного магазина достаточно переиспользовать Django apps из этого проекта. Предназначен для внутреннего пользования.

Репозиторий открыт для знакомства с кодом и процессом разработки команды Фидалс На текущий момент команда Фидалс использует Рефарм для сайтов shopelectro и stroyprombeton.

Глоссарий

Общее для тематики разработки сайтов

Сквозные элементы (сквозняки) - элементы, которые есть на каждой странице сайта. Обычно это меню с товарами, верхняя (хедер) и нижнаяя (футер) части сайтов.

Хлебные крошки (breadcrumbs) - список предков текущего элемента. Есть category page и product page вверху страницы.

Хедер (header, шапка) - верхняя сквозная часть сайта.

Футер (footer, подвал) - нижняя сквозная часть сайта.

Контрол (control) - любой элемент на странице, с которым юзер может взаимодейстовать. Кнопки, галочки, области со всплывающими элементами.

Статика - любые файлы, которые генерируются из кода или данных базы. Бывает фронтовая статика, сайтмапы, yml files.

Сайтмап (sitemap) - файл со всеми страницами сайта.

yml file (yml price, прайсы) - пример файла (3.6 MB). Файлы с нашими товарами для маркет-плейсов. Например Я.Маркет или Гугл мерчант. Являются статикой.

Роботс (robots.txt) - настройки для поисковых машин, которые захаживают на наш сайт. Хранятся в файле robots.txt в корне сайта.

Каталог

Модуль каталог

Категория (category) - раздел, в котором хранятся или другие разделы или товары. Категории представляют из себя дерево.

Корневая категория (root category) - категория, которая не имеет родителей. Обычно такие отображаются в сквозных меню.

Категория второго уровня (second level category) - категория, у которой только один предок - корневая категория. В общем случае "картегория уровня n" - это категория, которая имеет n предков.

Листовая категория (leaf category) - категория, у которой потомки - товары. По аналогии с листовыми элементами графов-деревьев.

Смотреть ещё (watch more) - непрерывный список товаров. Под последней строкой товара помещаем кнопку "смотреть ещё". Когда юзер жмёт кнопку, фронт догружает доп список элементов вниз той же страницы. Возможен вариант с автодогрузкой: когда юзер доскроллил до конца экрана, фронт автоматом догружает новые элементы списка.

Пагинация (pagination) - список ссылок на номера страниц. Из-за сомнительного юзабилити применяем только для СЕО. На каждой странице свой уникальный набор товаров (элементов списка). Один и тот же товар не может находиться на разных страницах.

Теги (tags, мультисвойства) - характеристики товаров. Напряжение 12В - это тег товара. Тегом является пара имя группы тега+значение тега. Например Напряжение+12В. Товары можно фильтровать по тегам на category page.

Группа тегов (tag group) - это группа характеристик. Из примера выше Напряжение - это группа тегов. Напряжение 12В - это уже конкретный тег.

Админка

Модуль generic_admin

Табличный редактор (Table editor) - линк на него. Позволяет редактировать товары прямо в списке просмотра, как в excel.

Контент

Модуль pages

Страница (Page) - любая страница на сайте. Имеет уникальный урл. Важное правило - для одной страницы ровно один урл

[Some] page - тип страницы или "экран". Например main page, admin page и тд. Полный список страниц смотри ниже.

Page template (сео-шаблон) - шаблон на django template language, который можно записать прямо через Админку в базу. Можно изменять правила отображения контента в зависимости от выбранного тега. Например для "Батарейки" можно отображать один текст, а для "Батарейки 12В" - другой. Часто используем для tag pages. Подробнее описан в модуле pages.

Список типов страниц