Специалисты

Описание

Профессиональные навыки
HTML5 CSS3 SCSS JavaScript Git Vite Node.js Chart.js Knex.js Vue Vue 3 Nuxt jQuery Gulp Webpack SQL Typescript

Образование:
2010 Мордовский национальный исследовательский государственный университет им. Н.П. Огарева, Саранск

Повышение квалификации, курсы:
2017 HTML-Academy. Профессиональный HTML 1 и 2 ступени и CSS

Опыт
Проект

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

Описание

Роль: Fullstack-разработчик Задача: Разработать личный кабинет для анализа заработных плат компании. Разработать приложение для пользователей/компаний с возможностью учета и анализа заработных плат сотрудников. Обязанности: Frontend-разработка макетов: 30 макетов с различными состояниями, тултипами, нотификациями и попапами Создание UI однофайловых Vue-компонентов Разработка Backend части приложения (API контроллеры на node.js, веб-сервер Koa) Контроль и код ревью задач выполненных командой Достижения и результаты: Подготовка трех площадок для разработки: prod, pre-prod, dev. Реализовал интеграцию с ClickHouse где хранятся рыночные данные. Задача не типовая, необходимо было разобраться с возможностями и функционалом ClickHouse и SQL-командами, которые отличаются от стандартных реляционных баз данных. Для Strapi дописал плагин в котором разместил все контроллеры с интеграциями и различными запросами к ClickHouse Реализовал виртуальный скролл с динамической подгрузкой данных (пагинация) без библиотек на нескольких страницах Сделал нестандартную валидацию двух методологий оценок должностей. Для грейдирования должности, по бизнес-процессу, необходимо было использовать калькулятор для оценки должности Покрыл весь проект политиками безопасности. Более 80 политик для проверки прав доступа Реализован импорт данных из Excel файла и экспорт данных в Excel, Word, PDF файлы. Из-за сложной структуры экспорта, необходимо было хранить преднастроенные XLSX-файлы, прежде чем вставлять в них данные. Нормальных библиотек для построения XLSX-график в open source нет Настроил email-уведомления с помощью Nodemailer Реализовал автоматическое блокирование доступа пользователям, при истечении времени купленной лицензии, при помощи CRON-задачи на node.js Реализовал ограниченный доступ для неавторизованных пользователей при помощи токенов. Ссылки с токенами рассылаются через email Оптимизировал SQL-запросы. Помимо изменения SQL-запросов через knex.js, настроил индексы полям в SQL-таблицах для ускорения выборок данных из базы. Прочее: Продуктом пользуются топовые компании рынка для анализа заработных плат персонала: Альфа-банк, Магнит, Adidas, Avito, Biocad, ЦИАН, HeadHunter и т.д.

Технологии

HTML5, SCSS, JS, Vue, Nuxt, Vuex, Chart.js, Strapi, Node.js, PopulateXLSX, Clickhouse, MySQL, Nodemailer, Axios, Lodash, Webpack

Длительность

13 месяцев

Проект

Зарубежный интернет-магазин

Описание

Роль: Nuxt Frontend разработчик Задача: Разработать зарубежный интернет-магазин по функционалу похожий на SoundCloud. Подготовить сборку проекта. Проверить работу кроссбраузерно. Внедрить сложную форму оплаты. Разработать три личных кабинета пользователей с разными правами доступа. Обязанности: Frontend-разработка макетов: публичная часть и 3 личных кабинета, в общей сумме около 30 адаптивных макетов с различными состояниями, тултипами, нотификациями и попапами Создание UI компонентов, которые затем использовались в проекте другими фронтенд разработчиками Работа со звуковыми волнами через библиотеку Wavesurfer.js с учетом адаптивной верстки Валидация форм с помощью vee-validate и кастомных правил валидации: сравнение дат, изменение состояний в зависимости от выбора соцсети и т.п. Защита всех форм на сайте от ботов с помощью Recaptcha Постоянное использование функций mapState, mapMutations, mapActions для уменьшения кода Постановка задач дизайнеру о недостающих состояниях элементов Исправление ошибок на основании баг-листа от тестировщика и Product Owner`а Достижения и результаты: Подготовил и настроил проект на Nuxt SSR, хотя клиент хотел изначально Vue, объяснил и фактами доказал что лучше использовать Nuxt Спроектировал архитектуру (страницы, компоненты, vuex) с возможностью переиспользования бизнес-логики в Nuxt Подключил Stripe и PayPal (изучение официальной документации обоих). Из-за нагромождения кода и hook`ов сразу двух платежных систем, пришлось оптимизировать код покрыв комментариями почти каждую строчку JS-кода. Реализовал бесшовную корзину и избранное, которые обновлялись независимо от количества открытых вкладок в браузере. Использовались различные техники: vuex, watch, $fetch Реализовал проигрывание плейлистов в зависимости от страницы на которой запускался трек (создал несколько mapping-функций под разные нужды и проверки, тем самым упростив заведомо сложный функционал) Библиотеку Wavesurfer.js подключил напрямую к Vue, так как готовые прослойки ограничивали доступ к нативному функционалу библиотеки. Без готовых библиотек реализовал виртуальный скролл в каталоге треков. Требования: высокая производительность; повторить уникальность макета в виде плитки, а не списка товаров; необходим был контроль над всеми кроссбраузерными состояниями и событиями (помимо скролла, необходимо было управлять положением фильтров) Прочее: На основании этой работы сделали копию сайта для треков узконаправленных жанров музыки.

Технологии

HTML5, SCSS, JS, Nuxt, Vue, Vuex, Axios, Lodash, Wavesurfer.js

Длительность

7 месяцев

Проект

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

Описание

Роль: Старший Frontend разработчик Задача: Разработать конструктор для визуального подбора кухонных комплектов (мойка, смеситель, мусорная система). Конструктор необходимо встраивать в любой сайт партнера, независимо от стека. Реализовать импорт данных о товарах из различных источников. Обязанности: Подготовка сборки проекта на Nuxt Frontend-разработка макетов: 10 макетов с различными состояниями, тултипами, нотификациями и попапами Разработка Backend части приложения Сделать страницу сравнения комплектов и экспорта результатов сравнения в PDF Достижения и результаты: Реализовал 4 кастомных плагина на React для Strapi (добавил страницы в админку с помощью плагинов и программной логики): - Плагин для импорта XLSX-файлов с прайс-листом компании. Помогает делать в каталоге товаров массовые изменения, например цены или цвета моделей товаров. Отвечает за импорт и экспорт всех товаров для быстрой модификации через Excel. - Помогает создавать готовые комплекты (мойка, смеситель, мусорная система). Использовать, в том числе, для автоматического подбора. - Третий плагин импортирует таблицы совместимости и хранит их в базе. Таблицы совместимости используются для автоматического подбора, например, подходит ли цвет дозатора к цвету смесителя, можно ли установить дозатор на мойку, подходит ли мусорная система с четырьмя контейнерами к мойке с шириной 45 см. - Плагин для проставления координат в административной панели при помощи drag and drop изображений. Нужно для правильного отображения комплектов, иногда смеситель визуально стоял криво на мойке. Данный плагин решил проблему и спас 100500+ часов контент-менеджера. Реализовал два типа опросов с взаимоисключающими ответами для подборки конечного комплекта Реализовал автоматизированный подбор на основе ответов пользователя. Клиент был рад и назвал разработку искусственным интеллектом. Реализовал систему замены фасадов и вывод моделей продукции по координатным точкам Прочее: Проект должен был получить дальнейшее развитие в РФ (головная компания в Европе), им стали интересоваться дистрибьюторы продукции других стран, проект планировал участие в профильных ИТ конкурсах, но из-за санкций был заморожен

Технологии

HTML5, SCSS, JS, Vue, Nuxt, Vuex, Strapi, React, Node.js, Axios, Lodash, Webpack

Длительность

10 месяцев

Проект

Проект для Министерства экономического развития РФ

Описание

Роль: Backend разработчик Задача: Разработать Backend на Node.js для получения полной статистики по программам поддержки и типам финансирования. Сделать возможность выгрузки данных проектов из системы заказчика. Обязанности: Создание БД PostgresQL Разработка административной панели Разработка Backend части приложения (API контроллеры на node.js, веб-сервер Koa) Достижения и результаты: Предложил использовать Strapi как low-code платформу, некий Битрикс только на node.js. Зачем? Для скорости реализации, чтобы больше времени было на отладку. В дальнейшем, мое предложение несколько раз спасло проект из-за съехавших сроков. Реализовал интеграцию с внутренней системой заказчика через протокол SOAP Оптимизировал работу с оперативной памятью. Сделал поэтапную подгрузку данных, так как при едином запросе система заказчика зависала, хотя на dev-площадке проблем не было. Реализовал два типа синхронизации данных, по ручному запросу и с помощью CRON-задачи в автоматическом режиме. Прочее: Проект принимал министр из Минэконом РФ. Задача была не большая, но очень важная. Благодаря проекту у министерства есть доступ к удобной статистике всех государственных инвестиций.

Технологии

Node.js, Strapi, Soap, PostgresQL

Длительность

2 месяца

Проект

Одна из крупнейших российских нефтяных компаний

Описание

Роль: Nuxt Frontend-разработчик Задача: Редизайн и рефакторинг существующего сайта с использованием Vue.js Обязанности: Выполнение поставленных задач по спринтам Контроль работы подотчетных разработчиков. Достижения и результаты: Изучил более глубоко работу Vue-компонентов. Одно дело работать на ядре Vue через webpack, и совсем другое дело inline-vue-компоненты Удалось использовать один Vuex в нескольких inline-компонентах. Результат удивил даже меня. Я думал это невозможно. Прочее: До нормального перехода на Nuxt дело не дошло из-за смены руководства, хотя были близко. И сделали очень многое для мягкой смены стека.

Технологии

HTML5, SCSS, Native JS, Nuxt, Vue, Vuex, SSG

Длительность

2 месяца

Проект

Сеть супермаркетов

Описание

Роль: Старший Frontend-разработчик Задача: Редизайн и рефакторинг существующего сайта с использованием Vue.js Обязанности: Выполнение поставленных задач по спринтам Контроль работы подотчетных разработчиков. Достижения и результаты: Изучил более глубоко работу Vue-компонентов. Одно дело работать на ядре Vue через webpack, и совсем другое дело inline-vue-компоненты. Удалось использовать один Vuex в нескольких inline-компонентах. Результат удивил даже меня. Я думал это невозможно. Прочее: До нормального перехода на Nuxt дело не дошло из-за смены руководства, хотя были близко. И сделали очень многое для мягкой смены стека.

Технологии

HTML5, SCSS, JS, jQuery, Vue, Vuex, Swiper

Длительность

5 месяцев

Проект

Ведущий производитель средств индивидуальной защиты

Описание

Роль: Nuxt Frontend-разработчик Задача: Разработать сайт на Vue с SSR. Сверстать около 20 адаптивных макетов. Реализовать все задумки дизайнеров. Обязанности: Frontend-разработка макетов Создание UI компонентов, которые затем использовались в проекте другими фронтенд разработчиками Интеграция страниц с API (получение и отправка данных) Достижения и результаты: Реализовал около 10 различных визуальных эффектов для подходящих страниц (снег, дождь, туман, дым и тп.) Реализовал конструктор контентных страниц. Бэк отдавал названия компонентов (с данными) и через динамическую генерацию dom-дерева (тег <component />) «рисовал» страницу. Прочее: API строился на Битриксе PHP-разработчиками, получилось очень круто. Сейчас это постоянная практика, а в 2018 году мы были первопроходцами.

Технологии

HTML5, SCSS, JS, Vue, Nuxt, Vuex, Axios, Vee-validate

Длительность

6 месяцев

Проект

Британская высшая школа дизайна

Описание

Роль: Frontend-разработчик Задача: Разработать сайт с полностью резиновой версткой на rem формулах, провести интеграцию с готовым backend`ом Обязанности: Frontend-разработка макетов и использованием шаблонизатора PUG и вставок на Vue под Битрикс 40 адаптивных макетов с нотификациями и попапами Контроль и код ревью задач выполненных командой Интеграция с API заказчика Достижения и результаты: На проекте было реализовано много сложных анимаций с переливами цветов радуги Помощь бэкенд разработчикам с интеграцией верстки

Технологии

HTML5, SCSS, Native JS, Rest API, Gulp, PUG

Длительность

2 месяца

Проект

Российский интернет-ритейлер

Описание

Роль: Nuxt Frontend-разработчик Задача: Редизайн сайта. Сменить стек на nuxt. Изменение верстки с PUG на HTML; Обязанности: Выполнение поставленных задач по спринтам; Достижения и результаты: Все макеты сдавал в срок, ставил задачи backend-разработчикам; Прочее: Работал со сложной структурой нескольких репозиториев; Сразу после сдачи работы компания пошла в банкротство.

Технологии

HTML5, SCSS, JS, Nuxt, Vuex, Rest API

Длительность

3 месяца

Проект

Сайт для продажи курсов

Описание

Роль: Nuxt Frontend-разработчик Задача: Разработать сайт для продажи курсов, аналог Skillbox. Студент должен пройти весь путь от покупки курса, общения с преподавателем через сайт, до сдачи диплома. Обязанности: Подготовка двух сборок проектов Nuxt: публичная часть с SSR, админка в режиме простого Vue; Frontend-разработка макетов: более 50 макетов с различными состояниями, тултипами, нотификациями и попапами; Разработка Backend части приложения (API контроллеры на laravel); Достижения и результаты: Реализовал самописный конструктор для внутренних страниц приложения, использовал 52 уникальных блока. Начиная БД и админки, заканчивая мэппингом данных на фронте; Разработал приложения пользовательской и административной части. Прошел полный цикл от проектирования до сдачи проекта заказчику; Освоил Laravel на уровне достаточном чтобы писать бэкенд с контроллерами для фронта. Запросы в БД, валидация входных данных, проверка прав тоже писал. Для работы с базой использовал PMA и DBeaver; Прочее: Принимал непосредственное участие на всех этапах проекта начиная с проектирования и написания ТЗ, заканчивая финальными правками и сдачей проекта, в том числе задачи на Laravel.

Технологии

HTML5, SCSS, JS, Vuetify, Nuxt, Vue, Vuex, SSR, SSG, Lodash, Rest API, Laravel, Swagger, MySQL

Длительность

5 месяцев