Skip to content

Пример проекта клиентской части с использованием Bootstrap и логикой, написанной на JavaScript.

Notifications You must be signed in to change notification settings

DozenDevil/store-front-with-item-logic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Интерфейс магазина с обработкой товаров

Веб-приложение для управления товарами и корзиной с возможностью добавления, удаления, редактирования количества и скидок. Поддерживает поиск, сортировку и отображение итоговой стоимости.


Функциональность

  • Добавление нового товара через модальное окно.
  • Удаление товара с подтверждением через SweetAlert2.
  • Добавление товара в корзину и удаление из корзины.
  • Редактирование скидки на товары в корзине.
  • Автоматический пересчет стоимости с учетом скидки.
  • Сортировка таблиц по клику на заголовки.
  • Поиск товаров через List.js.
  • Отладочный режим с тестовыми товарами.

Структура проекта


project/
│
├─ css/
│   ├─ bootstrap.min.css
│   └─ style.css
│
├─ js/
│   ├─ main.js             # Главный модуль, точка входа
│   ├─ main/
│   │   ├─ constants.js    # Константы, индексы полей, настройки List.js
│   │   ├─ storage.js      # Работа с localStorage
│   │   ├─ ui.js           # Обновление интерфейса
│   │   ├─ sorting.js      # Сортировка таблиц
│   │   ├─ goods.js        # Добавление/удаление/тестовые товары
│   │   └─ cart.js         # Работа с корзиной
│
├─ index.html
└─ README.md


Используемые библиотеки


Установка и запуск

  1. Клонировать репозиторий:
git clone <url_репозитория>
  1. Открыть index.html в браузере (приложение полностью фронтенд, сервер не требуется).

  2. Для отладки можно использовать DEBUG_MODE в constants.js. Включение режима добавляет функцию testGoods() в консоль для быстрого заполнения таблицы товаров.


Настройка

  • Все константы и настройки хранятся в main/constants.js.
  • Работа с данными осуществляется через localStorage.
  • UI обновляется через функцию updateGoods(userList).
  • Сортировка таблиц реализована в sorting.js.
  • Управление корзиной через cart.js.
  • Добавление и удаление товаров через goods.js.

Структура данных товара

Каждый товар хранится как массив с полями:

Индекс Поле Описание
0 Id Уникальный идентификатор
1 Name Название
2 Price Цена
3 Count Количество на складе
4 InCartCount Количество в корзине
5 Discount Скидка в процентах
6 InCartCost Стоимость в корзине с учетом скидки

About

Пример проекта клиентской части с использованием Bootstrap и логикой, написанной на JavaScript.

Resources

Stars

Watchers

Forks