Skip to content

Instantly share code, notes, and snippets.

@sunmeat
Last active May 5, 2025 14:49
Show Gist options
  • Save sunmeat/5120f241ab0f407138b7c1dc479a2f02 to your computer and use it in GitHub Desktop.
Save sunmeat/5120f241ab0f407138b7c1dc479a2f02 to your computer and use it in GitHub Desktop.
техническое задание для экзаменационного проекта по JavaScript
Проект представляет собой интернет-магазин, аналогичный Rozetka. Он должен включать в себя следующие ключевые элементы:
- Главная страница с категориями товаров
- Страница с карточками товаров
- Корзина покупок
- Взаимодействие с сайтом для получения данных о товарах, добавления их в корзину и оформления заказа
- Административная часть
Целью данного проекта является создание фронт-части интернет-магазина с использованием JavaScript, HTML и CSS.
В процессе работы будет акцент на навыки работы с асинхронным программированием и взаимодействием с сервером.
Требования:
1. Используйте принципы ООП для создания классов товаров, категорий, корзины и заказов.
- Реализуйте конструкторы для создания объектов товаров и категорий.
- Методы объектов должны выполнять действия с товаром (например, добавление в корзину, изменение количества).
- Для работы с внутренними свойствами классов используйте геттеры и сеттеры для получения и изменения значений
(например, цена товара, количество в корзине).
- Создайте наследуемые классы для различных типов товаров, например, для электронных товаров, одежды и аксессуаров.
- Реализуйте полиморфизм, если необходимо изменить поведение методов для разных типов товаров.
- Для обработки ошибок (например, если товар не найден или если корзина пуста) используйте конструкцию try-catch.
2. DOM и обработка событий
- Используйте методы и свойства DOM для изменения структуры страницы, добавления товаров в корзину и обновления интерфейса
в ответ на действия пользователя.
- Реализуйте обработчики событий для кнопок добавления товара в корзину, отправки формы заказа,
а также для выбора категорий и фильтров товаров.
3. Формы
- Создайте форму для ввода данных покупателя (имя, адрес, номер телефона).
- Реализуйте проверку данных на корректность, используя регулярные выражения.
- Добавьте кнопки для отправки формы, текстовые поля для ввода данных, чекбоксы для выбора дополнительных опций
и списки для выбора способа доставки.
- Для проверки правильности введенных данных, таких как номер телефона или email, используйте регулярные выражения.
4. Cookie
- Для хранения состояния корзины покупок используйте cookie.
- Сохранение товаров в корзине должно работать даже после перезагрузки страницы.
5. Promises и async/await
- Реализуйте использование Promise/async-await для получения данных (например, список товаров или информацию о товаре).
- Используйте fetch для отправки запросов и получения данных.
Основные функции, которые должны быть реализованы в проекте:
Главная страница:
- Вывод категорий товаров.
- Отображение списка товаров в выбранной категории.
- Фильтрация товаров по цене, популярности и другим параметрам.
Карточка товара:
- Подробная информация о товаре.
- Кнопка добавления в корзину.
Корзина:
- Добавление товаров в корзину.
- Отображение текущего содержимого корзины.
- Возможность изменения количества товаров в корзине.
- Отображение общей стоимости товаров в корзине.
Оформление заказа:
- Форма для ввода данных покупателя.
- Отправка данных формы на сервер для оформления заказа.
Админка:
- Регистрация новых пользователей
- Добавление категорий и товаров
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment