Леонид Цуканов

Front-End Developer

https://github.com/Sv1nnet

Россия, Москва.

Telegram, WhatsApp:

+7 (925) 180-41-85

LinkedIn Leonid.Tsukanov.work@gmail.com

Навыки

    Активно использовал:
  • 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 вкладок и доступ к полям и вкладкам в зависимости от роли пользователя);
Единый центр учета потребления ресурсов москвы и подмосковья (TypeScript, React, React Context, Redux, 2gis/mapgl):
  • разработка с нуля полноценного редактора геометрий на карте: рисование, растягивание, перемещение геометрий, добавление и удаление вершин, отображение тултипа с площадью при изменении геометрии, подсветка при клике или наведении;
Административная панель каршеринга (React, Redux, React Final Forms, React Admin, MUI, Axios):
  • настройка авторизации (JWT);
  • разработка гибко настраиваемых таблиц: пользователь может изменять ширину колонок, их порядок (Drag'n'Drop), количество; настройки сохранялись у пользователя и восстанавливались при повторном заходе на страницу или в раздел с таблицей; разработка фильтров к таблицам: состояние и значение каждого фильтра может зависеть от других фильтров; синхронизация фильтров и настроек таблицы с URL-параметрами;
  • написание документации в README и сторис в Storybook;
  • написание unit-тестов;
  • помощь младшему разработчику;
Платформа для формирования рассылок пользователям mos.ru (React, Redux, React Final Forms, Axios, Immutable.js, SCSS):
  • разработка графиков на D3.js;
  • рефакторинг компонентов UI-kit'а (с классов на хуки);
  • реализация страниц с формами и интеграция их со сторонними сервисами из iframe;
  • написание unit-тестов (Jest, Enzyme);
  • написание документации в README и сторис в Storybook;
Сервис по поиску мероприятий в Москве (Next.js, Redux, React Final Forms, SCSS, Styled Components):
  • разработка главной страницы с календарями и фильтрами;
  • адаптивная верстка остальных разделов под различные разрешения экранов (мобильные, планшеты, десктопы);
Остальное:
  • фикс багов;
  • участие в дейли, ретро, планировании, улучшении 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, на современные фронтовые технологии, разработке проектов с нуля, менторстве младших разработчиков, изучении необходимых для конкретного проекта технологии.