Навыки
- Активно использовал:
- JavaScript - ES6+, Promise, async/await;
- TypeScript;
- HTML5/CSS3 - flex-box, BEM;
- SASS, SCSS, Styled Components, CSS Modules;
- UI библиотеки - Material UI, Ant Design, Element UI (на Vue);
- React.js - class components, hooks, Redux/RTK/RTK-Query, React-Query, Reselect, NextJS;
- Jest, Enzyme, React Testing Library;
- Git
- Storybook;
- Node.js - Express.js;
- MongoDB, mongoose;
- Figma, Photoshop
- Использовал иногда:
- Vue.js;
- Docker;
- Vite, Webpack, Gulp;
- CSS Grid Layout;
- MySQL;
- C#, PHP;
Языки
- Русский;
- Английский на уровне чтения документации, просмотра выступлений с конференций, видео-уроков; разговорный - B1;
Опыт работы
авг 2020 - ... ООО "Интермобилити" Старший Фронтэнд Разработчик ПроектыПанели управления парковками и штрафстоянками (TypeScript, React, React Context, React Hook Form, React Query, Axios, MUI):
- разработка UI-kit'а на основе MUI и React Hook Form и доработка под макеты;
- настройка авторизации (JWT);
- разработка интерактивной карты с yandex.maps - создание, редактирование, удаление парковочных пространств и парковок внутри них;
- реализация комплексных форм (3-10 вкладок и доступ к полям и вкладкам в зависимости от роли пользователя);
- разработка с нуля полноценного редактора геометрий на карте: рисование, растягивание, перемещение геометрий, добавление и удаление вершин, отображение тултипа с площадью при изменении геометрии, подсветка при клике или наведении;
- настройка авторизации (JWT);
- разработка гибко настраиваемых таблиц: пользователь может изменять ширину колонок, их порядок (Drag'n'Drop), количество; настройки сохранялись у пользователя и восстанавливались при повторном заходе на страницу или в раздел с таблицей; разработка фильтров к таблицам: состояние и значение каждого фильтра может зависеть от других фильтров; синхронизация фильтров и настроек таблицы с URL-параметрами;
- написание документации в README и сторис в Storybook;
- написание unit-тестов;
- помощь младшему разработчику;
- разработка графиков на D3.js;
- рефакторинг компонентов UI-kit'а (с классов на хуки);
- реализация страниц с формами и интеграция их со сторонними сервисами из iframe;
- написание unit-тестов (Jest, Enzyme);
- написание документации в README и сторис в Storybook;
- разработка главной страницы с календарями и фильтрами;
- адаптивная верстка остальных разделов под различные разрешения экранов (мобильные, планшеты, десктопы);
- фикс багов;
- участие в дейли, ретро, планировании, улучшении UI/UX;
- верстка под WebView;
- разработка и доработка небольших приложений на Vue (2, 3);
- поддержка большого легаси на AngularJS и Angular 2+;
Пет проекты
My Simple Workout Tracker
- личный трекер тренировок. (В разработке) Ориентированное на использование на смартфонах веб-приложение на базе React, Capacitor, IndexedDB, NodeJS(Express), MongoDB. Проект для личных нужд, т.к. не нашел ничего подходящего в Play Store. Можно создавать упражнения, составлять тренировки, отслеживать прогресс. Разработка еще в процессе, однако большинство функционала уже реализована. В данный момент мигрирую проект на Capacitor с дописыванием плагинов на Java и SwiftUI и планирую релиз в RuStore, Play Store и App Store. GitHub - https://github.com/Sv1nnet/my-simple-workout-trackerОбо мне
Имею опыт в переписывании легаси с PHP и JQuery, на современные фронтовые технологии, разработке проектов с нуля, менторстве младших разработчиков, изучении необходимых для конкретного проекта технологии.