Специалисты

Описание

Programming Languages:
JavaScript, Typescript, HTML/HTML5, CSS/CSS3

Framework/Library:
React.js, Redux, Redux-Saga, Material-UI, Next.js, Axios, Underscore, Mobx, SASS (SCSS), LESS, Lodash, Moment.js, jQuery, WebSockets, Bootstrap, Animate.css, Stylus

Cloud services: AWS, Heroku

DBMS:
PostgreSQL, MongoDB, MariaDB, Redis

Testing: Jest

Development Tools:
Git, Webpack, npm

Application Type: REST, Social Networks

Application/Web Servers: Nginx, Apache

Other
Jira, Adaptive Web, Responsive Web, Agile, Ajax, XML, MVC, JSON, Unix, SSH

Опыт
Проект

Сервис социального обслуживания взрослых

Описание

Описание проекта В приложении процесс обслуживания выполнялся следующим образом: - Социальный работник проводит оценку и запрашивает пакет услуг. Утверждающий проверяет обнаруженные потребности и предложенную помощь, а также проверяет соразмерность. Затем они одобряют пакет для брокерских услуг или запрашивают более подробную информацию у SW. - Брокерская служба находит поставщика, согласовывает стоимость и отправляет ее на утверждение. Утверждающий подтверждает стоимость. Система отправляет заказ на отправку поставщику и уведомляет всех об одобрении. - Платежи и финансы управляются контрактом и обеспечивают своевременные платежные и импортные операции. Команда социальной помощи для взрослых работала с Google Forms and Sheets. Цель проекта: Автоматизировать как можно больше из вышеперечисленного и упростить человеческие процессы, чтобы обеспечить удобство, радость в работе и эффективность. Что было сделано Изначально приложение разрабатывалось на React.js. Но позже было принято решение перевести приложение на Next.js. Мы занимались переносом всех страниц на Next.js в соответствии с необходимой структурой. Также добавил необходимые функции авторизации и кэширования. После переноса приложения на Next.js, команда начала добавлять компоненты с готовым дизайном в storybook. Это облегчило работу в будущем, так как всегда можно было обратиться к готовым компонентам с нужным дизайном. На протяжении всего времени на проекте часто приходилось обновлять storybook. Это были задачи по добавлению новых компонентов, а также расширение по функционалу старых компонентов. На многих страницах использовалась функция getServerSideProps, которая позволяла проверять валидность токена, однако позже, после рефакторинга мы заменили getServerSideProps на один middleware, что сократило количество кода на рабочих страницах. На проекте было очень много правок, как в дизайне, так и в логике приложения. В один момент пришлось полностью переделывать все страницы и начинать с нуля. Но это сделало приложение более читабельным в плане кода и более удобным для пользователя. При рефакторинге, повторяющийся код на всех страницах, заменялся на кастомные хуки, благодаря которым сокращался код и увеличивалась читаемость кода. При работе с задачей создавалась отдельная ветка в github репозитории. После выполнения задачи и проверки с помощью ручного тестирования, создавался pull request. Pull request проверялся другими разработчиками на работоспособность, а также на качество кода. После исправления всех замечаний, если они были, можно было делать squash and merge в ветку develop. На проекте было 3 сервера для проверки приложения: develop, staging, production. На сервере develop можно было тестировать приложения, используя фейковые данные и проверять работоспособность функционала. Также все изменения и фиксы загружались сначала на develop сервер. На сервере staging осуществлялась проверка фейковых данных, но после проверки на сервере develop. Проверка на staging сервере велась не разработчиками, а ведущими дизайнерами, менеджерами и архитектором приложения. После того, как проверка на staging проходила успешно и все спринты были выполнены, обновлялся production.

Технологии

JavaScript / Next.js / React.js / Redux / Redux toolkit / Redux-thunk / React Hooks / React-hook-form / PostgreSQL Интеграции: AWS S3 / Social Networks / Payment Systems / Complex Data through APIs

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

Август 2019 – по настоящее время месяцев

Проект

ERP-система для салонов красоты и спа-центров

Описание

Что было сделано Основной задачей проекта была разработка мобильного и десктоп интерфейсов в соответствии с дизайном. Также нужно было реализовать функционал booking/check-in. Состояние appointment (выбранные услуги и провайдеры) сохранялось между перезагрузками страницы. Нужно было создать возможность добавления кредитных карт на аккаунт и их верификацию. Этот функционал мы реализовали при помощи системы WorldPay. Для отображения доступных для booking/check-in салонов проводилась работа с Mapbox, что включало работу с геолокацией пользователя, кластерами и динамическим приближением. Взаимодействие с api проводилось путем отправки запросов при помощи Redux-thunk библиотеки. Нужно было сделать веб-приложение, которое легко интегрируется в мобильное приложение на React Native, в т. ч. с возможностью добавления отступов в случае наличия на устройстве вырезов на экране. Весь разработанный функционал было необходимо покрыть unit-тестами, во избежание регрессионных ошибок.

Технологии

React / Redux / Redux-Thunk / Axios / Draft-js / Immer / Lodash / Reselect / Luxon / Linaria / Craco / Mapbox / Respond-framework / Jest Интеграции: Social networks / Payment Systems

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

Август 2019 – по настоящее время месяцев

Проект

Единый сервис для привлечения контрагентов

Описание

Описание проекта Основной идеей проекта является создание единого сервиса для привлечения контрагентов к решению технологических и операционных вызовов компании. Когда возникает такая необходимость, компанией создается запрос на выполнение определенного задания. В зависимости от специфики деятельности все вызовы разделены на категории по закупочным возможностям: ВУЗы, скаутинг, инжиниринг, разработка ПО, консалтинг, организация мероприятий и др. Вызовы различаются по своей сложности, целям и на них может откликнуться любой желающий от студента ВУЗа до представителя крупной компании. Все отклики и предложения формируются в базу, с которой работает владелец вызова. По итогам рассмотрения заявки автор заключает контракт с тем участником, который смог предложить наилучшие условия для него. Что было сделано Проект разрабатывался на микросервисной (микрофронт) архитектуре, при которой удается подключать набор собранной логики в качестве компонента в другое приложение. Для обеспечения работы микрофронтовой архитектуры использовалась ручная конфигурация на webpack 5, где в одном репозитории происходит выдача сборки наружу, а другой подключается и принимает в себя нужные модули. Модули могут быть подключены не все, частично, что позволяет использовать их в других проектах, которые за счет своей конфигурации могут это сделать. В рамках проекта были реализованы ролевые модели (ВВ-владелец вызова, КМ-категорийный менеджер, ИВ-инициатор вызова, П-претендент, ФЭ-функциональный эксперт и др.). Каждая роль имеет определенный доступ к определенным вызовам, виджетам, и функциональности. Также были разработаны карты откликов с подгрузкой 40 откликов с двух приложений сервиса, модальные окна в вызове, отклике, идее. Разработка была реализована с использованием подхода REST API и на основе повторно используемых пользовательских элементов, разрабатываемых в рамках дизайн-системы Consta.

Технологии

JavaScript / React.js / Redux Toolkit / Redux-Thunk / Consta-UI / Axios / Lodash / PostCSS / LESS / SASS (SCSS) / Bootstrap / PostgreSQL Интеграции: Microservices / Socket.io / Complex data through APIs

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

Август 2019 – по настоящее время месяцев

Проект

Изолированная библиотека данных

Описание

Что было сделано В рамках данного проекта была внедрена изолированная библиотека, что позволило избежать интеграций сторонних сервисов. Данная библиотека может быть интегрирована в другие проекты. Библиотека реализовывала табличное представление существующих данных. Также в ходе проекта были прописаны новые типы данных, такие как не редактируемое текстовое поле, валидируемый номер телефона, электронная почта и т. д. В дальнейшем эти поля были добавлены в конечный вариант таблицы. В течение работы над проектом осуществлялись работы с mocked data, а также вносились изменения в структуру данных с целью соответствия проектным требованиям (добавлены поля возможности редактирования). Структура кода была полностью изменена командой разработчиков, чтобы больше соответствовать современным стандартам архитектуры приложений.

Технологии

JavaScript / React.js / Redux

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

Август 2019 – по настоящее время месяцев

Проект

Сайт по поиску специалистов

Описание

Описание проекта Проект позволяет работодателям найти специалистов (ветеранов) и наоборот. Большим конкурентным преимуществом платформы является возможность загрузить свое резюме на сайт, и система сама заполнит информацию в профиле, исходя из этого документа. Также большое внимание уделено именно военным специальностям. Их резюме хорошо парсятся. В профиле есть специальные поля, отведенные под военный опыт. Также используется сложная система поиска наиболее подходящего кандидата по имеющемуся у него опыту, исходя из требований работодателя. Что было сделано Работа велась с личным кабинетом. Мы реализовали эвристический подсчет соответствия человека каждой вакансии. Аналитика каждого действия пользователя была исполнена с помощью FullStory, Segment, MixPanel. Кроме этого, на проекте было реализовано: - автоматическое заполнение профиля пользователя, после того как загрузили резюме; - выделение ключевых слов при помощи модуля coreNLP; - чаты между пользователями, выполненные с помощью sendBird; - платежи при помощи Stripe; - интеграция с LinkedIn.

Технологии

Javascript / React.js / Redux / Node.js / Express.js / PostgreSQL Интеграции: Stripe / LinkedIn

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

Август 2019 – по настоящее время месяцев