Курирую разработку фронтенда нескольких проектов. Активно развиваю экспертизу фронтенд-разработки в своем кластере, обучаю сотрудников, проектирую задачи от идеи до релиза. Управляю техническим бэклогом на основе потребностей бизнеса.
▶ Low-code/no-code платформа ( n8n-like )
- Спроектировал и реализовал функционал просмотра изменений между версиями иерархичной структуры
данных на базе паттерна Composite.
- Реализовал функционал просмотра изменений данных в JSON формате с помощью CodeMirror
- Мигрировал кодовую базу с Vue 2 на Vue 3
- Мигрировал функционал построения интерактивных графов с JointJS на VueFlow
Стэк: Typescript, Vue.js, Vuex, Webpack, Quasar, JointJS, CodeMirror
▶ Платформа автоматизированного планирования
- Спроектировал архитектуру SPA приложения с yarn workspaces, конфигурировал dev окружение на стадии запуска проекта
- Взаимодействовал с коммунальным registry, осуществлял публикацию npm пакетов. Cовместно с devOps настроил CI/CD публикации пакетов в registry и версионирование
- Настроил кодогенерацию http клиентов и типов
- Внедрил использование feature-flags через FeatureHub, адаптировал использование SDK для Vue.js
- Реализовывал карту на базе Leaflet и Geoserver с CQL фильтрацией данных в отображаемых слоях
- Интегрировал BI инструмент (Apache Superset) в клиентскую часть системы. Настроил Embedded SDK для отображения аналитических данных. Работал с исходным кодом данного open source решения, создал корпоративный кастомный плагин по визуализации данных.
- Внедрил инструменты кэширования данных получаемых с API, что в свою очередь оптимизировало количество запросов и уменьшило время отклика для пользователя
- Декомпозировал и формализовывал задачи на разработку. В виду отсутствия дизайнера на проекте, прототипировал интерфейсы в макетах Figma
- Проводил код ревью, наставничество младших специалистов, принимал непосредственное участие в разработке функционала
- Решал сложные конфликтные ситуации
Стэк: Typescript, Vue.js, Vite, Vitest, Quasar, Tanstack Table/Query,
▶ Онлайн-конструктор курсов Courseditor
- Реализовал функционал отмены действий редактора с помощью двусвязанного списка и дизайн паттерна Command. В ходе реализации производил рефакторинг по расширению слоя моделей, что позволило отделить логику по изменению данных в сущностях структуры от их представления для дальнейшего переиспользования. Как итог, помимо реализации основного функционала, это улучшило архитектуру проекта и сделало код самих ui компонентов чище.
- Написал функционал по скачиванию и загрузке файлов с прогрессом используя Websocket
- Реализовывал другой функционал в рамках которого расширял UI-kit проекта со Storybook. Добавлял новые компоненты, настраивал возможные варианты отображения и поведения в песочнице. В дальнейшем обновил Storybook на последнюю стабильную версию, что позволило мигрировать сервис с Webpack на Vite. Как результат, сборка UI-kit и Storybook стала ровно в два раза быстрее.
- Развивал и поддерживал архитектурную методологию Feature-Sliced Design. Устранял кросс-импорты, разделял код по соответствующим слоям абстракции.
- Работал со спецификациями стандартов электронного обучения SCORM и XAPI, исправлял дефекты и улучшал отправку статистики о прохождения курса в LRS системы.
- При работе в команде внедрил полезные практики, а именно, улучшил валидацию параметров в ui компоненты через интерфейсы классов
Стэк: Vue.js , Vuex, Vite, Webpack, SCSS, Storybook, WebSocket
▶ LMS платформа корпоративного университета
- Выполнял роль ведущего фронтенд-разработчика на проекте, участвовал в запуске разработки проекта, конфигурировал dev окружение проекта
- Проводил оценку и декомпозицию задач. Составлял формализацию задач согласно бизнес требованиям.
- Активно взаимодействовал с клиентом и дизайном, формировал и продвигал идеи по улучшению UI/UX, в условиях сжатых сроков, находил альтернативные решения для реализации изначально заложенных бизнес идей, с целью оптимизировать трудозатраты и сократить срок разработки.
- Участвовал в разработке API, применяли Contract-First
- Реализовал объемные и сложных таблицы с группировкой ячеек, фильтрами, сортировкой, пагинацией, настройками отображаемых колонок
- Реализовал множество сложных форм с валидацией по формулам контрольных сумм
- Разрабатывал UI-kit проекта согласно дизайн системе
Стэк: Vue.js, Vuex, Vuetify, Tailwind, Webpack
▶ Платформа для корпоративных онлайн-курсов (NDA)
- Реализовал формы отправки заявок и обратной связи
- Проводил рефакторинг сетевого слоя приложения
- Уменьшил размер итогового бандла посредством code splitting
- Настроил ESLint и Prettier, внедрил code style
Стэк: Nuxt, Vue.js, Vuex, SCSS
▶ Маркетплейс домашних животных Kinpet.ru
- Реализовал динамическую форму захвата контактов с помощью Vue
- Разрабатывал формы подачи объявления, авторизации, регистрации, профиля пользователя
- Разделял монорепозиторий проекта, фронтенд был перенесен в git submodule
- Оптимизировал показатели CWV, уменьшил значение CLS путем бронирования пространства для фотографий
- Интегрировал и кастомизировал Google и Яндекс карты
- Разработал слайдер-калькулятор
Стэк: JavaScript, HTML, SCSS, Gulp, Vue
Кадастр и геоинформационные системы