Skip to content

Список заданий, для получения опыта работы с Backbone.js

Notifications You must be signed in to change notification settings

mtrsv/backbone-intern-tasks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 

Repository files navigation

Разработка учебного проекта на Backbone

Книга на gitbooks

Задачи

  1. Создать проект на гитхабе. Разобраться с NPM, добавить package.json с backbone, jquery, lodash.
  2. Настроить сборку scss, js используя webpack.
  3. Сверстать форму ввода артикула.
  4. Создать коллекцию для товаров.
  5. Создать вью для формы поиска.
  6. Добавить в проект Jest, написать тесты на модель и вью. Протестировать каждый метод. Все последующие задачи должны включать тесты.
  7. Сверстать страницу товара с фото и характеристиками.
  8. Создать модель и вью товара, реализовать вывод данных о товаре.
  9. Реализовать вывод характеристик товара.
  10. Реализовать вывод фото товара.
  11. Сверстать отзывы.
  12. Создать коллекцию и вью для отзывов.
  13. Реализовать вывод отзывов.

Подготовка к работе.

  • Установить расширение для браузера, разрешающее cross origin запросы (для работы с API).
  • Установить node.js и git.
  • Зарегистрироваться на github, сгенерировать ключи прописать в настройках.
  • Создать новый проект на github.
  • Посмотреть макеты на яндекс-диске.
  • Документация Backbone.js: оригинальная, перевод.

Соглашения по оформлению.

  • Каждая задача должна быть выполнена в новой ветке и оформлена в пулл-реквест в репозиторий проекта.
  • Названия веток должны быть вида BB-номер задачи (например BB-1).
  • Название пулл-реквеста соответсвует названию ветки.
  • В описании пулл-реквеста содержится описание того, что было сделано.

1. Создать проект на гитхабе. Разобраться с NPM, добавить package.json с backbone, jquery, lodash.

Подсказки:
  • Папка node_modules не должна быть под гитом.
  • Разобраться с назначением файлов .gitignore.
Результат:
  • Репозиторий с проектом (файлы package.json, .gitignore).
  • Понимание работы с пакетами.
  • Понимание назначения файла package.json, .gitignore.

2. Настроить сборку scss, js используя webpack.

Результат:
  • Файл настроек webpack.
  • Исходные файлы .js и .scss, index.html с подключенными стилями и скриптами.
  • Папка для результатов сборки.
Подсказки:

3. Сверстать форму ввода артикула

Результат:
  • Форма ввода артикула должна соответствовать макетам.

4. Создать коллекцию для товаров

 Пример запроса на API: https://www.sima-land.ru/api/v3/item/?sid=123456,1005002
Результат:
  • Создан файл коллекции для товаров.
  • При открытии страницы отправляется запрос на сервер, в консоль выводится заполненная коллекция.
Подсказки:
  • Расширять коллекцию от Backbone.Collection.
  • Для корректного заполнения коллекции необходимо переопределить метод parse.
  • Прочитать про систему событий Backbone. Изучить, как работают коллекции, в какой момент происходит событие sync.
  • Свойство url может быть строкой или функцией.

5. Создать вью для формы поиска.

Результат:
  • Создан файл вью поиска, добавлен шаблон для товаров.
  • При вводе списка артикулов и нажатии на кнопку поиска, отправляется запрос на получение товаров.
  • При получении ответа, выводится список товаров (название, артикул).
Подсказки:
  • Расширять вью от Backbone.View.
  • Изучить синтаксис lodash-шаблонов.
  • Создать lodash-шаблон в теге <script>.
  • Создать метод render, использовать $.html() для вставки новой разметки в элемент.
  • Изучить назначение объекта events, привязать к клику на кнопку метод render.

6. Добавить в проект Jest, написать тесты на модель и вью. Протестировать каждый метод. Все последующие задачи должны включать тесты.

Результат:
  • Подключенный jest.
  • Два файла тестов (для вью и коллекции).
Подсказки:
  • Разобраться с методами фреймворка для тестов: beforeEach, afterEach, spyOn, expect.

7. Сверстать страницу товара с фото и характеристиками.

  • Страница товара должна соответствовать макетам.

8. Создать модель и вью товара, реализовать вывод данных о товаре.

Результат:
  • После нажатия кнопки Подробнее, отображается карточка товара, с фотографией, названием и ценой, списко с атрибутами.
Изменения в запросе к API:
  • Добавить к запросу товаров &expand=photo_sizes,description для получения описания товара и информации о размерах фото.
  • Ссылки на фото товара приходят в массиве photos, информация о версиях фото в массиве photoVersions.
  • Адрес фото товара строится по шаблону: PHOTO_PART/PHOTO_INDEX/PHOTO_SIZE.jpg?v=PHOTO_VERSION.
  • Пример адреса фотографии товара: https://cdn2.static1-sima-land.com/items/802893/0/700.jpg?v=0.

9. Реализовать вывод характеристик товара.

10. Реализовать вывод фото товара.

About

Список заданий, для получения опыта работы с Backbone.js

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published