Специалисты

Описание

Ключевые навыки:
Programming Languages:
- Golang
- PHP
- JavaScript
- Typescript
- Ruby
- HTML/HTML5
- CSS/CSS3
- SQL

Framework/Libraries:
- Fiber
- Gin
- GORM
- MongoDB Go Driver
- kafka-go
- Node.js
- ExpressJS
- Nest.js
- Serverless
- Ruby on Rails
- Vue.js
- Vuex
- Vue router
- Vuetify
- Nuxt.js
- React.js
- Redux
- Redux-Saga
- Redux-thunk
- Redux-Form
- React-Hooks
- React Table
- Reselect
- Material-UI
- Next.js
- Mobx
- jQuery
- Animate.css
- Socket.io
- Underscore
- Axios
- Moment.js
- Lodash
- SASS (SCSS)
- LESS
- Stylus
- PostCSS
- Bootstrap

Cloud services:
- AWS
- Heroku
- STRIPE
- Google Maps
- EC2
- s3 bucket
- Lambda
- API Gateway
- Google Cloud Platform

DBMS:
- PostgreSQL
- MySQL
- MongoDB
- Firebase
- Redis
- DynamoDB
- Neo4j

CI/CD:
- Gitlab
- Jenkins

Development Tools:
- Git
- Webpack

Application/Web Servers:
- RabbitMQ
- Nginx
- Apache
- Elasticsearch

Application Type:
- REST
- SOAP

Other:
- Agile
- Docker
- Kubernetes
- MVC
- Ajax
- XML
- JSON
- SSH
- Unix

Образование:
Прикладная математика & Информационные технологии, Магистр
Южный федеральный университет, Таганрог, Россия

Опыт
Проект

Онлайн-сервис для криптовалюты

Описание

Описание проекта Онлайн-сервис предоставляет услугу автоматического расчета индикаторов и сравнения пар криптовалют в режиме реального времени. Больше нет необходимости составлять сводные таблицы и переключаться между графиками, чтобы оценить колебания рынка, всю необходимую информацию пользователь получает на одном экране. Это позволяет экономить время на поиск необходимых данных, а также позволяет быстрее принять решение о покупке / продаже криптовалюты. Актуальные данные о криптовалютах поступают с крупнейшей платформы по объему торгов Binance и глобальной спотовой биржи Huobi. Что было сделано Это приложение состоит из нескольких частей. Бэкенд использует 2 языка программирования: RoR и Golang. Микросервис, написанный на Golang, используется для основных расчетов данных по индикаторам и событиям, что обеспечивает быстродействие системы. Основная же логика работы бэкенда написана на RoR. Для фронта мы используем React.js, что в свою очередь также обеспечивает быстродействие и реактивность приложения. В рамках проекта была реализована логика работы smart-list с отображением данных порядка 400 торговых пар с 2-х бирж: binance и huobi. Пользователь имеет свой личный кабинет, может задавать параметры как индикаторов, так и для срабатывания событий, чтобы получить уведомление в телеграмм-бот. Основными индикаторами приложения являются change, CCI, RV3, Divergence, Level. Также в систему интегрирован график tradingview для отображения данных и информации по выбранной торговой паре. Кроме основных индикаторов, в системе идет сбор и хранение таких параметров пары как маржинальность, суточный объем, Last Price и т. д. Была осуществлена интеграция системы оплат и оформление подписки для работы с приложением с возможностью выбора нескольких тарифов и триальным периодом.

Технологии

JavaScript / React.js / Ruby / Golang / Sidekiq / PostgreSQL Интеграции: Heroku / Payment systems / Sockets / Microservices / Complex data through APIs

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

Январь 2015 - по настоящее время месяцев

Проект

Сервис для ремонта товарных вагонов

Описание

Описание проекта Проект предназначен для диджитализации процесса ремонта товарных вагонов в России, странах СНГ и не только. Ресурс позволяет ответить клиентам на 3 главных вопроса: 1. Где ремонтировать? В рамках ресурса можно получить онлайн расчёт ремонта вагона. Для этого используется специальный калькулятор, использующий несколько интеграций как с РЖД, так и с другими крупными игроками рынка. На выходе Клиент получает огромный выбор из вариантов ремонта с ценами. 2. Сколько это будет стоить и как произвести платежи? После выбора конкретного предложения из калькулятора проводится многоэтапное онлайн согласование с менеджером заявки, а также подписание всех документов с использованием ЭЦП. 3. В каком состоянии находится вагон, который был отправлен на ремонт? Для каждого ремонта есть чёткие сроки выполнения, за соблюдением которых Клиент может следить и знать точный статус конкретного вагона/заявки. Что было сделано Проект разрабатывался с нуля, работа в полном объёме выполнялась нашей командой. На бэкенде использовался Laravel, на фронтенде Vue.js. Была реализована отказоустойчивая архитектура с мультинодами на базе серверов Яндекса. В рамках проекта была реализована работа с ЭЦП клиентов, что позволило им подписывать все документы в режиме онлайн, а заказчику быть уверенным в подлинности документов. Такой подход значительно сократил время подписания всех документов.

Технологии

Javascript / Vue.js / Nuxt.js / PHP / Laravel / PostgreSQL / MySQL Интеграции: Yandex / RZD / Electronic Document Workflow

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

Январь 2015 - по настоящее время месяцев

Проект

Банковское приложение и телеграм-бот

Описание

Описание проекта Данный Банк входит в топ 100 лучших банков по уровню обслуживания клиентов. В существующем приложении, имеющем десктопную версию, было необходимо расширить функционал и исключить неиспользуемый. Помимо приложения необходимо разработать кастомизированный телеграм-бот для фан-клуба Торпедо, кастомную платежную систему и систему почтовых рассылок. Что было сделано - В рамках проекта доработан существующий функционал (меню, Актуализация матрицы компетенций сотрудников, доработка страницы пополнения, УПРИД, переверстка некоторых страниц в новом дизайне - верстка лендингов на шаблонизаторе Pug), проведен рефакторинг кода. - Исправлены баги по верстке и функционалу от предыдущих команд. - Разработаны с нуля новые страницы (депозиты, "Банковские гарантии" для раздела "Корпорации"). - Разработан и внедрен новый телеграм чат-бот (под NDA). - Полноценное SPA приложение на Vue 3. Для этого кастомизировали telegram web app, создали интеграции с telegram api. - Кроме того, реализовали загрузку и смену изображений, проведена работа с формами и внедрение цветовой темы в зависимости от telegram color theme маркентинг. - Также внедрили кастомную платежную систему "Компас" со стандартом 3-D-Secure, проведение платежа по трем сценариям. - Для почтовых рассылок проведена верстка e-mail шаблонов, в том числе для Outlook.

Технологии

JavaScript / Vue 2 / Vue 3 / Vue router / Vuex / SCSS / Pug / Stylus / PostgreSQL

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

Январь 2015 - по настоящее время месяцев

Проект

Картографический проект и работа с графиками

Описание

Подпроект 1: - работа с большими объемами данных, отображение до 100000 элементов на странице; - работа с картами, тепловая карта, карта построения маршрутов; - выгрузка результата поиска в HTML, PDF, Docx, Zip. Подпроект 2: - построение графиков поиска за прошедший год, работа с линейными и свечными графиками; - формирование отчета поисков, работа с сокетами, интеграция нотификаций по веб сокетам, получений нотификаций по телеграм, рекурсивные фильтры и структуры данных.

Технологии

TypeScript / React / React-Router / Redux / Redux-Saga / Redux-Form / React-Hook-Form / React Table / Reselect / Stompjs / Html2canvas / Jszip / Leaflet / Highcharts / Styled Components / SCSS / Qrcode.react

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

Январь 2015 - по настоящее время месяцев

Проект

Платформа для персонализированного обучения

Описание

Описание проекта Это своего рода облако, куда пользователь может интегрировать все свои курсы с других обучающих платформ (например, CrossKnowledge или CodeCademy) и, совместив это с данной Learning Experience Platform, создать индивидуальный план обучения. Learning Experience Platform состоит из множества различных частей и алгоритмов подбора контента для каждого пользователя по его интересам, навыкам и пристрастиям. Данная платформа также предусматривает совместное корпоративное обучение, где пользователи, состоящие в одних и тех же группах, могут делиться понравившимися курсами, обучающими карточками и видео со своими коллегами, проходить опросы и тесты, общаться с другими пользователями и наблюдать за активностью своих друзей. Также, данный проект имеет отдельную панель для администратора. Здесь, в удобном для пользователя формате, можно сконфигурировать и настроить платформу индивидуально для каждой организации. Начиная от количества и названий вкладок на панелях, цветовой схемой, логотипами и настройками контента, и заканчивая стандартными опциями администраторов по контролю содержимого контента, пользователей и доступов. Еще здесь есть разделение контента по каналам, группам, много аналитики и статистики, определение лидеров и топов среди пользователей, получение наград и бонусов, ведение живых стримов и т.д. Что было сделано Наша команда начала работать над уже текущим стартап проектом. Тогда он привлек инвестиции в размере более 100 млн. долларов от различных крупных инвесторов и получил множество наград. В настоящее время платформа используется компаниями на международном уровне и крупными государственными организациями. Команда разработчиков EdCast состоит из нескольких групп из 3 разных стран: Россия, Америка, Индия. У каждой команды есть свое направление в разработке и своя область ответственности за определенные части платформы. Наша команда по большей части отвечает за админ часть, группы и каналы, а также external API для синхронизации EdCast платформы с другими проектами. Мы занимаемся как поддержкой, разработкой, внедрением нового дизайна и фронтенд функционала (HTML5, SCSS, Material UI, React.js), так и внедрением полной логики работы отдельных компонентов на сервере (Ruby on Rails). Был разработан микросервис по обработке групп пользователей. Он представляет из себя конструктор, в котором можно создавать группы по определенным признакам, а затем распределять пользователей в эти группы в автоматическом режиме. Работа была выполнена преимущественно на бекенде с Node.js и Базами Данных. Часть модели данных на проекте имеют графовую структуру. Для их хранения и для операций (запросов) с ними была выбрана СУБД neo4j. В качестве библиотеки для Node.js использовался npm пакет "seraph" (Протокол - bolt). Также использовался docker neo4j. Широко применялись транзакции. Помимо neo4j на проекте, использовался Redis и MySQL, и каждая из этих 3-х движков баз данных использовалась по своему назначению. А также применялись нагрузочные тесты и выполнялась оптимизация запросов. Также была реализована административная панель для удобной работы над добавлением, редактированием и удалением контента.

Технологии

React.js / Redux / Vue.js / Ruby / Redis / MySQL / neo4j / Node.js Интеграции: Microservices

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

Январь 2015 - по настоящее время месяцев

Проект

Приложение по управлению маркетинговыми кампаниями

Описание

Описание проекта Проект предлагает услуги по построению программ лояльности для покупателей, геймификации получения реальных бонусов для потребителя, а также предлагает инструменты маркетинговой аналитики. Проект позволяет владельцам бизнеса самостоятельно планировать кампании по привлечению клиентов, путём кастомизированной системы поощрений, подсчета бонусов и выдачи сертификатов для их покупателей. Искусственный интеллект проекта может настроить на запуск триггеров по различным акциям Клиента - по дате (например, ближе ко дню рождения того или иного покупателя) или по локации (например, предложить акционный товар в магазине, который часто посещает тот или иной Клиент). Что было сделано На проекте трудилась выделенная команда специалистов с нашей стороны, сфокусированная на работе над шаблоном решения, которое затем кастомизировалось для нужд различных клиентов, и выпускалось в продакшн. Мы работали как над клиентской частью (React.js), так и над бекендом (Ruby). Наша команда стала частью большой интернациональный команды и плотно работала с коллегами из разных стран и таймзон. Перед фронтенд частью команды была поставлена задача по достижению максимальной скорости взаимодействия приложений с пользователем, как в десктопной, так и в мобильной версии, путем оптимизации клиентской части. Для решения данной задачи мы оптимизировали код клиентской части на использование RxJS, что дало нам возможность перейти к потоковой обработке данных, идущих от сервиса в шаблон, и минимизировать издержки на их обработку. Также наши специалисты провели глубокий рефакторинг и декомпозицию кода с целью формирования готовых библиотек и инструментов внутри приложения для решения обособленных задач таких как, работа с графиками, QR и штрих-кодами, всплывающими окнами и нотификациями, мини-играми для получения бонусов. Что также позволило повысить скорость работы клиентской части и приложения в целом. Наши бекенд специалисты решали сразу ряд задач. Мы участвовали в реализации серверной части для нового функционала приложения - создали новые сервисы, направленные на внедрение в приложение отправки сообщений, подключили к проекту AWS SNS. Также мы успешно запустили новый функционал системы лояльности клиентов и провели реиндексацию данных в Elasticsearch для повышения конверсии приложения. Также мы успешно внедрили использование системы покрытия тестами RSpec, что позволило повысить стабильность и скорость внедрения нового функционала. На бэкенде была проведена объемная работа по написанию алгоритмов для подсчёта бонусов/транзакций, были добавлены сериалайзеры, внедрены системы поиска пользователей по различным критериям, а также добавлен глобальный поиск потенциальных пользователей по сферам потребления и поиск потенциальных партнеров, а именно владельцев бизнеса - для сотрудничества. Больше всего времени занимали задачи по написанию сложных алгоритмов для подсчёта объёмных данных. При работе с клиентской частью мы столкнулись с разветвленной системой вычислений и обработки данных, которая была плохо оптимизирована. Чтобы повысить скорость и оптимизировать нагрузку на приложение был внедрен RxJS и потоковая обработка данных. При работе с серверной частью основная проблема была в плохо стандартизированной структуре кода. Нами была проделана кропотливая работа по приведению API запросов к единому формату обработки и возврата данных, а также добавлено покрытие тестами RSpec, что в сумме позволило получить прирост в стабильности процесса разработки.

Технологии

JavaScript / Typescript / Angular 8 / React.js / Redux / Redux Saga / Ruby / Ruby on Rails / ElasticSearch / PostgreSQL / Google Analytics Интеграции: AWS S3 / Payment systems / Complex data through APIs / Sentry / Google trace

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

Январь 2015 - по настоящее время месяцев

Проект

Площадка для спортсменов и тренеров

Описание

Описание проекта Нашей задачей было создание площадки для людей, всерьез занимающихся спортом. Каждый зарегистрированный спортсмен или тренер имеет возможность обратиться за помощью к специалистам портала и получить научно-методическую консультацию. Система позволяет инициировать общение или дает возможность опубликовать запрос и выбрать из откликнувшихся кандидатов. Также сервис содержит информацию о предстоящих спортивных конференциях. Что было сделано Изначально подразумевалось, что проект будет частью другого сервиса, но идея оказалась столь хороша, что он по итогу был запущен прежде своего "старшего брата". Клиентская часть проекта выполнена с использованием Vue.js + Vuex, для программирования сервера использован Laravel фреймворк. Обработка электронных платежей реализована через Stripe API. Обновление броней и онлайн расписания тренера происходит в real-time с помощью протокола WebSocket. Для сервиса мы реализовали: - стильный, легкий для восприятия дизайн и логотип; - регистрация пользователя с различными ролями (спортсмен / тренер / специалист / организатор конференций); - ограниченный режим без регистрации для знакомства с системой; - возможность создания запросов, отклика на них и выбора специалиста. Об изменении статуса рассылаются уведомления по почте всем заинтересованным лицам; - специалистам предоставлена возможность создавать собственные запросы о поисках добровольцев для участия в исследованиях. Отклики рассылаются по почте. Для спортсменов предоставлена возможность подписаться на уведомления о похожих запросах; - для специалистов созданы страницы профилей с возможностью добавлять информацию о себе и различные файлы мультимедиа; - реализована возможность обращения к специалисту напрямую; - пользователю предоставлена возможность оставлять отзывы о работе с конкретным специалистом и выставлять ему оценки. Оценки формируют рейтинг специалистов; - созданы общие доски запросов с удобным поиском и фильтрацией результатов. У пользователей есть возможность: - посмотреть список всех зарегистрированных специалистов, найти нужного или отфильтровать выборку; - связаться со специалистом напрямую; - создать запрос со своей проблемой и выбрать специалиста для консультации; - оплатить услуги специалиста через сайт посредством Stripe; - оставить отзывы и оценки; - создать страницу профиля с информацией о себе и загрузить файлы мультимедиа; - создать собственные запросы о поисках добровольцев для участия в исследованиях; - подписаться на автоматическую рассылку с настраиваемыми параметрами о запросах; - разместить информацию о конференции.

Технологии

Javascript / Vue.js / Vuex / Laravel / PostgreSQL Интеграции: AWS EC2 / AWS S3 / Socket.io / STRIPE

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

Январь 2015 - по настоящее время месяцев