Last active
May 5, 2025 14:49
-
-
Save sunmeat/5120f241ab0f407138b7c1dc479a2f02 to your computer and use it in GitHub Desktop.
техническое задание для экзаменационного проекта по JavaScript
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Проект представляет собой интернет-магазин, аналогичный 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