После сборки майндмапа мы приступили к написанию технического задания и достаточно быстро его согласовали.
Для реализации этого проекта потребовалось собрать команду из менеджера проектов, Front-end разработчика (знающего VueJS) и Back-end разработчика, умеющего работать с Rest APi.
В рамках ТЗ определили последовательно шаги процесса разработки:
1) Подготовка среды разработки
Настройка локальных копий и демо-среды для клиента.
2) Back-end (реализация на уровне независимого Модуля Битрикс)
2.1 Архитектура модуля
2.2 Rest APi (с описанием методов и запросов)
2.3 Кеширование под проект, с уклоном на большие нагрузки (html, memcache)
2.4 Проработка возможностей SEO
2.5 Проработка возможностей Автотестирования
3) Front-end
3.1 Интеграция верстки в реактивную среду Vue.js
3.2 Проработка связи js контейнера с Rest APi
3.3 Отладка производительности приложения на клиентах
3.4 Проработка возможностей Автотестирования при деплое
4) Совместное тестирование внутри компании
4Этап 2. Реализация проекта Для администрирования модуля была создана группа пользователей «Редакторы», попадая в которую, сотрудники Заказчика могли видеть все доступные инфоблоки, а также разработанный модуль.
Сценарии работы редактора можно было отразить следующим образом, пошагово:
Шаг 1: Заходит на сайт в административную панель.
Шаг 2: Создаёт физически новость в разделе «Данные» — Новости — Создать элемент. Устанавливает галочку «Показывать на главной», являющуюся признаком отправки элемента в таблицу модуля.
Шаг 3: Переходит во вкладку модуля в админке (Вынесен в меню отдельно).
Шаг 4: Переходит в основную панель — управление порядком блоков с информацией. Выбирает нужный блок, например, Новости.
Шаг 5: Видит список новостей (помеченные для отображения на главной).
Шаг 6: Находит нужную новость среди опубликованных на главной, либо через поиск по названию новости
Шаг 7: Устанавливает параметры сортировки (порядок вывода блока в колонках), сроки закрепления публикации (поля для ввода интервала даты активности)
Шаг 8: Блок выведен на главную страницу с указанными редактором или администратором параметрами.5Администрирование в модуле заложили по следующим параметрам: 1) Автоматическое управление интервалами активности
— Задается начало активности публикации элемента или блока
Публикация появляется на странице в указанную дату и время. Если она не заполнена принудительно — выводится автоматически с момента присвоения статуса «Опубликовать на главной»
— Задается окончание активности публикации элемента или блока
Публикация скрывается со страницы автоматически при достижении указанной даты. Если дата не указана, то публикация закреплена на неограниченное количество времени
2) Ручное управление публикацией элементов:
— Кнопка «Включить»
— Кнопка «Выключить»
3) Для разделов по умолчанию:
— Возможность задавать ограничение на количество элементов для вывода в блоке
— Возможность задавать сортировку относительно других блоков
4) Отображение блока в зависимости от устройства
— Возможность задать индивидуальные настройки отображать/НЕ отображать
— Возможность задать индивидуальные настройки сортировки для ПК и телефона.Результат В конечном итоге, после окончания реализации модуля, мы сделали ретроспективу и выделили для себя такие выводы к успеху подобных реализаций на основе своих ошибок:
1. В любой гениальной идее может и имеет место быть две стороны «медали»: бизнес-логика заказчика и логика возможностей сценариев работы решения. Они могут совпадать (и в идеале) стремятся к закрытию единой задачи — автоматизации бизнеса, минимизация операций и рутины. Чтобы на старте учесть все подводные камни и синхронизировать ожидания заказчика и разработчика, категорически важно согласование пожеланий и точное снятие потребностей при помощи визуальных инструментов: логических карт, прототипов, описание пользовательских сценариев.
2. Важно вести документацию проекта и его API с самого начала работ.
3. На берегу важно начать с определения формата взаимодействия специалистов и выделить время на созвоны и обсуждения участников проектной команды.
4. Нужно уделить внимание определению основных пользовательских сценариев, после финального тестирования составить обучающий документ для клиента, подготовить фото/видеоматериалы для обращения к ним в процессе взаимодействия с модулем, реализовать подсказки в интерфейсе редактора. Для понимания между клиентом и исполнителем важно провести презентацию всех сценариев совместными усилиями, чтобы избежать конфликтов и негатива, связанных с неправильным интуитивным самостоятельным тестированием клиента.
Комментарий агентства Этот проект являлся одним из первых продакшн проектов в стеке API-based (VueJS/Bitrix) в нашей компании, что также накладывало трудности и в реализации, и при том же проектировании системы. Однако, этот проект стал самым нетиповым и интересным для нас. Благодаря ему, мы почувствовали, что действительно способны разработать любое решение для любого бизнеса, которое действительно будет решать его основные задачи в онлайн.