English



Вы можете заказать собеседование со специалистом, оставив заявку на сайте

Сергей А. Node.JS

Россия, Таганрог

Год рождения
стаж с 2016 года


Node.JS Front/React.js Front/TypeScript DB/PostgreSQL DB/Mongo
Programming Languages: JavaScript - Typescript - HTML/HTML5 - CSS/CSS3

Framework/Libraries: Node.js - ExpressJS - Nest.js - Sails.js - Sequelize - React.js - Redux - Redux-Saga - jQuery - Socket.io - Underscore - Axios - Moment.js - Lodash - Material-UI - Animate.css - SASS(SCSS) - LESS - Stylus - PostCSS

DBMS: PostgreSQL - MongoDB - Redis
Cloud services: AWS - Heroku - EC2 - s3 bucket - STRIPE
Application Type: Web-scraping - Web-crawling - Social Networks - REST
Other: Agile - MVC - Ajax - XML - JSON - SSH
Development Tools: Git - Webpack

Образование:
Программная инженерия, Магистр
ИКТИБ, Таганрог, Россия

Опыт



Проект


NDA
Описание Веб система/приложение, способная обеспечить единство подходов и технологий в области планирования, реализации и управления поисковыми проектами на основе инструментов сценарного моделирования, динамического трекинга, продвинутой визуализации. Это приложение по поддержке проектов геологической разработки, оценке рисков проектов георазработки, сбора статистических данных, загрузке и ведению финансовой отчетности.

Что было сделано
Так как одной из главных целей проекта была оптимизация рабочих процессов по геологической разработке, нами было добавлено кеширование запросов, для ускорения процессов передачи данных. Кроме того, была разработана система сохранения и копирования дорожных карт проектов, созданы APIs для работы со сценариями проектов, а также реализована загрузка/выгрузка отчетов инвест мониторинга. Эти нововведения позволили улучшить процессы ведения финансовой отчетности проекта, чего мы и добивались.
Технологии JavaScript / Nest.js / Crud / PostgreSQL Интеграции: Microservices
Длительность месяцев


Проект


BidBash
Описание Идея проекта заключается в создании платформы для тех, кто продаёт услуги и тех, кому они нужны. Платформа включает распределение ролей на провайдеров и покупателей. Первые предлагают услуги и могут подавать заявки на выполнение услуг для покупателей, которые в свою очередь могут оформлять запросы на услуги. Платформа включает систему отзывов и рейтинга, которая позволяет и провайдерам, и покупателям оценивать взаимодействие друг с другом.

Что было сделано
С нуля разработали платформу для предоставления услуг и поиска работы. Основные функции платформы:- Регистрация в качестве покупателя с подтверждением почты;- Создания профиля провайдера внутри платформы. Полноценный walkthrough для формирования профиля провайдера;- Создание формы запроса услуги. Форма имеет ряд полей и критериев для обеспечения полной информации о том, что необходимо покупателю;- Bidding система (аукцион на предоставление услуги). Позволяет любому провайдеру подавать заявку на выполнение конкретной услуги и предлагать за неё свою цену. Покупатель выбирает понравившийся профиль провайдера и наиболее подходящую ему цену, и выбранный провайдер получает возможность выполнить эту услугу;- Запрос на услугу конкретного провайдера. Покупатель может просматривать профили провайдеров в поиске и, выбрав понравившегося, написать ему заявку напрямую, без аукциона. В таком случае провайдер сам решает, сможет ли он выполнить запрашиваемую услугу и предлагает покупателю его цену;- Система категорий. Каждый провайдер при создании своего профиля выбирает категории, в которых он выполняет услуги. Это может быть ремонт автомобилей, строительство, уборка домов. И в зависимости от того, по какой категории ищет себе услуги покупатель, он сможет найти провайдеров в соответствующей области услуг;- Геолокационный сервис. Используется как для профиля провайдера, так и для профиля покупателя. Позволяет отображать запросы покупателей в соответствующем районе города и находить провайдеров по их географической доступности;- Система онлайн оплаты. Платформа позволяет покупателям добавлять кредитные карты и оплачивать услуги провайдера онлайн;- Отзывы и рейтинг. По окончании выполнения услуги, как покупатель, так и провайдер, могут оставить отзыв друг о друге. Отзывы включают критерии, по которым можно выставить оценки, что напрямую влияет на рейтинг пользователя;- Управление профилями. Каждый пользователь может быть как покупателем, так и провайдером, как покупать услуги, так и продавать их. Он может легко переключаться между этими видами профиля и иметь доступ к соответствующим функциям.
Технологии Node.js / React.js / PostgreSQL Интеграции: AWS S3 / Google maps / Payment Systems
Длительность месяцев


Проект


Evrythng
Описание Проект представляет собой интернет вещей. Программное обеспечение платформы создано для управления цифровыми данными различных продуктов (как цифровых, так и физических, с помощью штрих-кодов и других идентификаторов), которые продают клиенты Evrythng.Платформа имеет ряд сервисов - Activate, Authenticate и Amplify. Мы занимались разработкой Amplify. Данный сервис позволяет компаниям создавать своё рабочее пространство, отслеживать спрос и статистику своего продукта в интернете.

Что было сделано
Мы занимались front-end частью проекта, а именно - построением графиков для отображения статистики продукта в IoT. Проделали большую работу по кастомизации D3 графиков, при этом обрабатывая готовую библиотеку под требования проекта. Также нашим достижением было решение нестандартных задач на проекте. Например, в рамках заданного дизайна практически отсутствовали готовые библиотеки, поэтому мы занимались переносом кастомной вёрстки на material.UI и её кастомизации.
Технологии React.js / D3.js / Highcharts / Material.UI / Node.js Интеграции: Microservices / Complex data through APIs / AWS EC2 / AWS S3 / Google maps
Длительность месяцев


Проект


LiveSmart
Описание Проект по разработке платформы для управляющих жилищными комплексами, в целях внедрения и управления умными системами. Администратор покупает набор умных систем (которые по сути являются доступами в мобильное приложение, настроенное на управление устройствами в домах), добавляет на портал информацию о квартирах и жильцах своего жилищного комплекса и связывает каждую смарт систему с каждой квартирой, выдавая доступ жильцам к системе управления их устройствами. Как только жилец покидает квартиру, доступ к управлению квартирой отзывается и выдаётся следующему жильцу.Проект разработан для B2B продаж умных систем и для удобства управления ими крупными клиентами.

Что было сделано
Для данного проекта мы разработали несколько основных функциональных компонентов. Для работы этих компонентов мы провели их инициализацию, вёрстку, подбирали и кастомизировали стили, а также добавили стандартный crud, поиск, сортировку и фильтрацию по записям. Также была проведена стилизация angular material tables для отображения списков записей и их активности в мобильном приложении. Один из компонентов включал полное собрание аналитики активности в приложении, для чего были подключены сторонние сервисы, такие как Google Charts и HERE maps. Для ряда сервисов была спроектирована и написана логика для динамического получения данных от сервера, а также включён функционал для динамического просмотра данных статистики. Для навигационного меню были добавлены все необходимые компоненты, включая функционал для маршрутизации по приложению (по стандартному нажатию на элементы меню). Также был построен CSV-парсер для загрузки и скачивания таблиц в приложение и с него с полным маппингом данных на существующие таблицы, также добавленные нашими разработчиками.
Технологии JavaScript / Typescript / Angular 8 / Angular Material / Node.js / PostgreSQL / MariaDB / HERE / MomentJS / Google Charts / ng / ngx Интеграции: AWS S3 / Google maps
Длительность месяцев


Проект


MERN Scripto
Описание Это приложение представляет собой инструмент для помощников режиссера, где они могут видеть и редактировать сценарий пьесы. Сценарий пьесы показывается с двух сторон: справа и слева, где пользователь может создавать поля с примечаниями. Эти поля можно перетаскивать вверх и вниз. Также они могут быть привязаны к тексту сценария, внешне похожие на комментарии в документах Google.

Что было сделано
В процессе работы над проектом, мы преодолели трудности с позиционированием элементов в текстовом редакторе Quill и его интеграцией с BeautifulDnD библиотекой. После этого продолжили работать над новыми фичами продукта. Также успешно решили проблему, связанную с оптимизацией процесса деплоя на AWS сервер.
Технологии JavaScript / React.js / Node.js / MongoDB / DynamoDB / GraphQL Интеграции: AWS EC2 / AWS S3 / Microservices / Complex data through APIs


Проект


Fabulate
Описание Fabulate - проект, основной задачей которого является возможность найти людям работу. В рамках данного проекта существует несколько разных типов пользователей, в зависимости от этого, пользователь может делать заказы на написание статей на разные темы, быть исполнителем этих заказов, либо подтвержденным организацией редактором статей. Платформа предоставляет широкие возможности для написания статей и интегрирована с платежными системами, имеет приятный и дружелюбный интерфейс.

Что было сделано
В рамках проекта было выполнено несколько объемных задач:
1. с использованием сервиса keen.io и echarts была создана аналитическая система, отображающая данные о посетителях: время и место прочтения, пол, примерный возраст, локацию и т. д.;
2. на основе Getty Images API была произведена интеграция системы поиска в хранилище изображений Getty Images в браузерный текстовый редактор TineEditor, система поиска поддерживала разграничение доступа между разными пользователями и поддерживала возможность ограничения количества используемых изображений.
Каждое найденное изображение вставлялось в текстовый редактор в низком разрешении, после подтверждения статьи, все изображения можно скачать в HD качестве из Getty Images на удаленный S3 сервер.
Технологии Javascript / React.js / Node.js / PostgreSQL Интеграции: Heroku / AWS S3 / Payment Systems / Socket.io / complex data through APIs


Проект


AdFluence
Описание AdFluence позволил пользователям популяризировать свои статьи или профили в социальных сетях, разместив их на портале AdFluence. Рекламный контент был распространен другими пользователями (инфлюенсерами) на разных платформах. У каждого инфлюенсера была своя собственная ссылка, и каждый щелчок по этой ссылке давал компенсацию за инфлюенсера.

Что было сделано
Мы работали над исправлениями для базы данных: существовала проблема, связанная с тем, что некоторые записи не были должным образом обновлены. Также выполнили некоторые исправления для внешнего интерфейса. Проект был создан с помощью MEAN стека (MongoDB, Node.js, Express.js на бэкенде, Angular 1.X на фронтенде).
Технологии JavaScript / AngularJS / Node.js / Express.js / MongoDB Интеграции: AWS EC2
Длительность месяцев


Проект


Bahama Joe"s
Описание Интернет-магазин одежды. Если вы хотите создать первое впечатление, Bahama Joe"s может объединить Ваше видение и свой продукт, чтобы создать идеальные корпоративные подарки и другие рекламные предметы для малого бизнеса и корпораций. Имея более чем 35-летний опыт работы, все заказы доставляются с помощью первоклассной, быстрой доставки с индивидуальным подходом к обслуживанию.

Что было сделано
В рамках данного проекта наши специалисты оказывали помощь в разработке серверной части. Перед нами был поставлен ряд задач, которые были решены в рамках внедрения и оптимизации Node платформы. В частности, нами была полностью переработана логика для реализации поиска продуктов, а также расчета доставки, что облегчило нагрузку и повысило скорость работы сайта. Была проведена интеграция платформы с eBay, а также подключена система платежей через Authorize.net, что позволило расширить потенциальную аудиторию пользователей. Наши специалисты внесли свой вклад в оптимизацию и интеграцию обновленных API для корзины покупок, главной целью которых было повышение процента заказов, закончившихся оплатой и, соответственно, повышение конверсии бизнеса клиента.Из трудностей можно выделить сложность тестирования производительности и безопасности проведения платежей через Authorize.net в силу особенностей данной системы. Для решения этой проблемы пришлось развернуть и настроить несколько сред тестирования параллельно.
Технологии Node.js / Sails.js / Socket.IO / Bootstrap / MongoDB Интеграции: eBay / Authorize.net
Длительность месяцев


Проект


Empala
Описание Это проект, помогающий людям играть на бирже. Объединяет данные из нескольких источников и отображает их на сайте и при использовании алгоритмов показывает, какие вложения рискованные, а какие безопасные. Также биржа работает в качестве социальной сети, позволяя пользователям сайта общаться между собой.

Что было сделано
Проект сделан с помощью React.js и сервер - рендеринга. Также динамически подгружается информация с других источников и рисуются графики, которые в режиме реального времени меняют свои значения. Преимущественно работали с сервером на Node.js, Sequelize, PostgreSQL.
Был реализован следующий функционал:1. создание новых моделей и зависимостей для Sequelize;2. написание рутов для работы с базой (CRUD операции);3. написание Raw Query для сложных запросов к базе;4. создание и реализация структуры для денежных переводов на APEX аккаунты, используя PLAID:- создание моделей для Sequelize, таблиц в базе для хранения данных о переводах;- создание на Node.js рутов для работы с APEX, PLAID, базой данных, обработка полученных данных;- создание на Frontend компонентов для работы с переводами;- интеграция клиента и сервера.5. Создание и реализация структуры для голосования и отображения их результатов:- создание моделей для Sequelize, таблиц в базе для хранения данных;- написание рутов для голосования;- написание логики и рутов для формирования и отправки результатов голосования на клиенте;- написание клиентской части для отображения компонентов;- построение графиков используя VS.6. Создание новых компонентов (React.js/Redux/Redux-Saga).7. Работа с Bootstrap, Material-UI.
Технологии Javascript / React.js / Redux-Saga / Next.js / Node.js / Sequelize / PostgreSQL / Bootstrap
Длительность месяцев


Проект


Crawler
Описание Проект представляет собой модуль для последующего встраивания в приложение Клиента. Назначение модуля - перейти по URL, который указал пользователь, сканировать веб-страницы, получить DOM каждой страницы и сохранить его в виде XML в базе данных. По завершению процесса, модуль выстраивает граф со структурой сайта. Есть возможность сохранять выбранные пути, назначать страницу, от которой будет построена структура.

Что было сделано
Был создан модуль, который переходит по URL, "обходит" все ссылки на странице и сохраняет данные в базе. По завершению работы выстраивается граф, отражающий структуру сайта по указанному URL. Была добавлена возможность использовать VPN для сайтов, к которым не подключиться иначе. Была добавлена возможность прервать процесс, для этого пришлось перейти на сокеты, после этого была проведена их интеграция в приложение. Дополнительно обновлены стили, использующиеся в клиентской части модуля, чтобы внешний вид был больше похож на существующее приложение.
Технологии Javascript / React.js / Redux / Redux-Saga / Node.js / Express.js / MongoDB / Mongoose / Puppeteer / Bootstrap Интеграции: Socket.io
Длительность месяцев