01.02.2022 - 28.03.2022 - Рефакторинг
Весь февраль-март нашей основной задачей была оптимизация код сервиса.
В рамках этих работ, были переработаны и улучшены следующие компоненты:
- Формирование адресной строки для выбранной локали. Переработаны префиксы языка в маршрутизаторе VUE и удалены из компонентов по всему проекту, тем самым мы исключаем ошибку отображения компонентов на неправильном языке
- Хранение фотоматериалов. Переписали компонент с учетом использования докера: каждое использование - один запрос, картинку грузим сразу с перемещением на Я.Облако, переделали загрузку и скачивание
- Формирование меню. Ранее меню было в blade-шаблонах. Переписали его как единый VUE-компонент, собрали всю навигацию с набором правил и переверстали меню для мобильной версии, что значительно упрощает разработку и логику проекта
- Генерация QR-кодов. Обновили механизм с учетом новой архитектуры с докером
- Отображение QR-кодов на сайте. Показ, скачивание и печать было реализовано тремя разными VUE-компонентами. Собрали все в один.
- Работа с отзывами. Убрали дублирование функционала форм.
- Привязка страницы к памятному месту при выгрузке памятного места на внешний сервер. Упростили работу компоненты и снизили число запросов, переведя асинхронную работу компонента к обработке данных при сохранении страницы. Это улучшает стабильность системы
- Контроллер сброса пароля по email или телефону. Переработали и выделили две отдельные функции, сброс по email и сброс по телефону
- Убраны дубли страниц для разных ролей в личном кабинете
- Переработаны ссылки в личном кабинете, так, /admin/pages и /partner/pages приведена к формату /cabinet/pages. Это значительно упрощает работу с ролями и доступами в личном кабинете и снижает количество ошибок при работе с пользователями
- Переделали компонент авторизации, содержавший редиректы для каждой роли.
- Переделали компоненты установки пароля на странице. Избавились от дублирования.
- Нашли и убрали RAW-запросы к базе данных, что увеличивает стабильность и безопасность сервиса. Сырые запросы не поддерживают экранирование, что могло повлечь SQL-иньекцию.
- Исправили валидацию форм. Объединили все правила в один компонент.
Кроме работ по рефакторингу, мы провели небольшие доработки функционала.
Функционал:
- Добавили раздел SEO-статей на сайте с фунционалом добавления/редактирования статей
- Доработали наш API: добавили методы для поиска ответственных по ФИО/номеру телефона/емейлу и получения страниц ответственных
- Протестировали несколько разных механик для создания документации по компонентам и функционалу проекта. Выбрали larecipe и расписали компонент для генерации QR-кодов. В апреле-мае планируем дополнить ее всем основным функционалом сервиса. Это позволит легко подключать новых программистов и быстрее проводить доработки сервиса.
Незапланированные доработки, которые пришлось делать экстренно:
- Добавили возможность вставки на страницу видео из RuTube и ВКонтакте, дополнительно к YouTube и Vimeo.
- Организовали дополнительную систему хранения бэкапов базы данных на российских серверах Selectel, а так же синхронизацию бэкапов с локальным сервером NAS, стоящим в офисе. Бэкапы создаются каждый 3 часа, что позволит в случае возникновения проблем откатиться с минимальными потерями пользовательских данных.
- Обновили подвал и убрали ссылки на некоторые соцсети
Сайт:
- Обновили оферту, так как обнаружили страницы с внешними ссылками, ведущими на запрещенные в России сайты. Все ссылки были удалены, а оферта теперь легализует этот процесс с юридической стороны
- Добавили функционал с расчётом стоимости памятного места, в апреле будем дорабатывать UI.
Post #42
102