Модуль B. Клиентское программирование Single Page Application
Технологии этого модуля: Клиентское программирование
Время на выполнение: 3 часа
Заказчик предоставляет вам полностью готовую верстку со всеми страницами и рабочее API. Вам необходимо использовать все имеющиеся навыки в клиентской разработке для создания Single Page Application, далее SPA.
Заказчик хочет, чтобы api можно было легко поддерживать, поэтому использование JavaScript фреймворков будет плюсом.
Ваша задача – реализовать SPA приложение, которое будет работать с уже разработанным API.
Для вашего удобства, во всех URL будет использоваться переменная {host} которая обозначает хост адрес API: http://server-m3.wsr.ru
Ваше SPA должно состоять из следующих экранов:
● Главная
● Вход в личный кабинет
● Регистрация в личном кабинете
● Личный кабинет
● Результаты поиска
● Бронирование
● Управление бронированием
● Выбор места в салоне воздушного судна
Разработанное приложение должно быть доступно по адресу http://xxxxxx-m3.wsr.ru/, где xxxxxx - логин участника (указан на индивидуальной карточке).
Модуль C. Серверное программирование REST API
Технологии этого модуля: REST API
Время на выполнение: 3 часа
Ваша задача – реализовать REST API, которое будет отвечать требованиям заказчика.
Для вашего удобства, во всех URL будет использоваться переменная {host} которая обозначает адрес http://xxxxxx-m2.wsr.ru/, где xxxxxx - логин участника.
В случае ошибок связанных с валидацией данных во всех запросах необходимо возвращать следующее тело ответа:
{
“error”: {
“code”: <code>,
“message”: <message>,
“errors”: {
<key>: [ <error message>]
}
}
}
|
|
Обратите внимание, что вместо <code> и <message> необходимо указывать соответствующее значение, определенное в описании ответа на соответствующий запрос. В свойстве error.errors необходимо перечислить те свойства, которые не прошли валидацию, а в их значениях указать массив с ошибками валидации.
Например если отправить пустой запрос на сервер, где проверяется следующая валидация:
● phone – обязательно поле
● password – обязательное поле
то тело ответа должно быть следующим
{
“error”: {
“code”: 422,
“message”: “Validation error”,
“errors”: {
phone: [ “field phone can not be blank” ],
password: [ “field password can not be blank” ]
}
}
}
Учтите, что code и message могут быть определены иначе, если в запросе указано иное. В значениях свойств errors вы можете использовать любые сообщения об ошибках (если не указана конкретная ошибка), но они должны описывать возникшую проблему.
Заказчик допускает возможность изменения базы данных в будущем, поэтому вам необходимо подготовить свой вариант схемы базы данных и сохранить его в корне с модулем. Сохраните файл с названием DB.png.
Разработанное API должно быть доступно по адресу http://xxxxxx-m2.wsr.ru/, где xxxxxx - логин участника (указан на индивидуальной карточке).
|
|
Форматы запросов и ответов, а также форматы дат и времени должен соответствовать примерам из задания.
Модуль D. CMS WordPress
Технологии модуля: HTML5, CSS3, CMS WordPress, JavaScript, граф. дизайн
Время на выполнение: 3 часа
Вам предоставляют готовый HTML-шаблон, который нужно немного модернизировать и разработать новый сайт с использованием системы управления контентом Wordpress.
Плагины
Вам необходимо разработать два плагина.
Random Line
Плагин, который при загрузке любой страницы на сайте выводит случайную строку из поста. Строка должна выводиться в случайной части страницы во время прокрутки поверх всех элементов, но не перекрывая контент. Появление должно сопровождаться анимацией и привлекать внимание, но не сильно отвлекать. Пост-источник должен указываться в настройках данного плагина в панели управления. Данный функционал планируется использовать для демонстрации малоизвестных фактах об экспонатах музея и объектов связи.
QRPage
Плагин, который реализует шорткод [qrpage]. Шорткод должен выводить изображение с QR-кодом, который содержит ссылку на текущую страницу. QR-код должен генерироваться с помощью предоставленной JavaScript библиотеки QRCode.js.
|
|
Разработанный веб-сайт должен быть доступен по адресу http://xxxxxx-m2.wsr.ru/, где xxxxxx - логин участника (указан на индивидуальной карточке).
Вся информация (например, заголовки, текст, меню и т.д.) должна редактироваться в панели управления администратором сайта без знаний программирования, верстки или доступа к файловой системе сервера.
Критерии оценки.
Таблица 2.
Критерий | Баллы | |||
Судейские аспекты | Объективная оценка | Общая оценка | ||
A | Дизайн и верстка веб приложения | 19 | 20 | 39 |
B | Программирование на стороне клиента | 2 | 19 | 21 |
C | Программирование на стороне сервера | 1 | 19 | 20 |
D | Системы управления контентом | 7 | 13 | 20 |
Итого
Мы поможем в написании ваших работ! |