Веб-приложение для управления товарами и корзиной с возможностью добавления, удаления, редактирования количества и скидок. Поддерживает поиск, сортировку и отображение итоговой стоимости.
- Добавление нового товара через модальное окно.
- Удаление товара с подтверждением через 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
- Клонировать репозиторий:
git clone <url_репозитория>-
Открыть
index.htmlв браузере (приложение полностью фронтенд, сервер не требуется). -
Для отладки можно использовать
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 | Стоимость в корзине с учетом скидки |