Бесплатно зарегистрируйся и получай уведомления о новых проектах по работе

Поделиться:

Фронтенд внутреннего сервиса, HTML+JS

f
Заказчик
Отзывы фрилансеров: + 1 0 - 0
Зарегистрирован на сайте 3 года и 8 месяцев
Бюджет: 20 000 руб
269.77 $ — 223.45 €
Исполнитель определен: >Александр Макаров [consme]
Нужно сверстать интерфейс внутреннего сервиса для работы с большим реестром, а потом оживить его с помощью JS.

Вся работа с данными происходит на бекенде, на фронтенде нужно лишь отображать фильтры и превью, а также предоставить контролы для экспорта полных данных в другие системы.

Сроки выполнения работы – до недели. Стоимость обсуждается

Ниже фрагмент из ТЗ, полное ТЗ по запросу.



### Этапы работ

Задача разбита на четыре майлстоуна.

* Верстка с примерами всех кейсов
* Работоспособный JS с имитацией ответа бекенда, без декоративных элементов и косметической логики (см. ниже)
* Отладка клиент-серверной логики на настоящем бекенде
* Отладка косметической логики и декоративных элементов

### Общий вид интерфейса

Вверху – строка хедера. Логотип и название. Место под ссылки на другие страницы.

Дальше блок фильтров, фильтры описаны ниже. Фильтров много, их можно отображать один за другим.
Код HTML и JS для фильтров надо организовать так, чтобы было удобно добавлять новые фильтры по мере их разработки.

После фильтров две кнопки – "Предпросмотр" и "Экспорт".
По нажатию на кнопку "Предпросмотр" отправлять AJAX-запрос с фильтрами к бекенду. Пока бекенд не ответил, блокировать фильтры и кнопки так, чтобы параметры запроса не изменялись, и отправить запрос повторно было нельзя. После ответа бекенда заполнить данными ответа таблицу для предпросмотра.
По нажатию на кнопку "Экспорт" отправлять аналогичный AJAX-запрос к бекенду. Пока бекенд не ответил, аналогично блокировать контролы. После ответа отобразить всплювающее окно с форматированным результатом от бекенда.

Дальше таблица для предпросмотра, описана ниже. Не изменяется пользователем. Изначально пустая.

### Технические требования

* Должно получиться одностраничное не перегружаемое SPA.
* Мобильная версия не требуется, только широкоформатный десктоп.
* Кнопочки должны инициировать AJAX-запросы.
* На время ожидания ответа контролы должны блокироваться и не позволять повторную отправку запроса.
* В случае ошибки или таймаута на сервере надо выводить технический алерт, который пользователь сможет скопировать.
* Верстку нужно собрать на Bootstrap, голый HTML, без изысков. В кастомных стилях нет необходимости.
* В качестве JS-движка может использоваться любой популярный фреймворк, однако, код должен быть понятен для программистов без специализации на JS.
* При изменении полей для фильтрации урл должен изменяться так, чтобы при открытии его урла в другом браузере условия фильтра были в точности восстановлены.
* Около всех кнопок и фильтров предусмотреть иконки со всплывающей справкой. Текст справок будет подставлен позже, пока просто заполнить плейсхолдерами.
* Для некоторых полей фильтров предусмотреть client-side саджест, подробнее в описании.
* Для некоторых результатов в таблице предусмотреть спойлеры, подробнее в описании.

### Опциональные элементы

Декоративные элементы и косметическая логика, которые не требуются на втором и третьем этапе:

* Справочные ховеры
* Спойлеры в таблице предпросмотра
* Затемнение неиспользуемых фильтров
* Саджесты (ожидается работа за время, не заметное для человека)
* Динамическое формирование урла и наполнение фильтров из урла
Разделы:
Опубликован:
12.04.2018 | 18:59

Теги: нужен программист, резюме программиста, требуется программист, резюме веб программиста