Специалисты

Описание

Programming Languages
- JavaScript
- Typescript
- CSS/CSS3
- HTML/HTML5

Framework/Libraries
- Node.js
- Express.js
- Nest.js
- Underscore
- Axios
- Socket.io
- jQuery
- Moment.js
- Lodash

Application/Web Servers
- Apache
- Nginx
- RabbitMQ

DBMS
- MongoDB
- MySQL
- PostgreSQL
- Redis

Cloud services
- AWS
- EC2
- Heroku
- Google Maps

Application Type
- REST
- Social Networks

Development Tools
- Git
- Webpack

Other
- Agile
- JSON
- XML
- Ajax
- MVC
- SSH
- Unix

Образование
Информационные системы и технологии, Магистр
ФГБОУ ВО ЮРГПУ им. М. И. Платова, г. Новочеркасск

Опыт
Проект

Система для автоматизации работы сотрудников клиники

Описание

Описание проекта Это ведение истории болезни пациентов, назначений, диагнозов, исследований, записей на приём и т.д. В приложении внедрено НСИ и прочие данные для медицинских справочников, что позволяет полностью автоматизировать процессы ведения документации на проекте. Что было сделано На проекте работали с бекенд (Node.js). В основные задачи входила реализация: - логики обработки запросов, работа с БД; - логики обновления grid-таблиц в ответ на изменение строк бизнес-таблиц; - рефакторинг кода; - парсинг и вставка данных справочников системы, в рамках чего приходилось много работать с RegExp; - обновления справочников при выходе новой версии (реализовывали алгоритм инкрементального версионирования).

Технологии

JavaScript / Node.js / RegExp / PostgreSQL / GraphQL / TypeORM Интеграции: Social Networks / Microservices / Complex data through APIs

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

Май 2018 – по настоящее время месяцев

Проект

Веб-приложение для помощи юристам

Описание

Описание проекта Это веб-приложение, которое будет предлагать юридическим фирмам в США программное обеспечение как услугу (англ. software as a service). В США, юристы, готовящиеся защищать иск о нарушении патента, должны читать, помечать и переписывать выдержки из десятков документов, чтобы создавать «таблицы патентных заявок» (англ. patent claim charts). Создание таких таблиц достаточно трудоемко. Веб-приложение будет помогать пользователям создавать таблицы патентных заявок, автоматизируя многие механические задачи. В основном, веб-приложение позволит пользователям: 1) делать заметки по текстам американских патентных документов, выделяя и помечая тегами относящиеся к делу отрывки; 2) генерировать таблицы патентных заявок, которые автоматически включают в себя ссылки на подходящие отрывки, на основе тегов пользователей. Что было сделано Мы занимались реализацией следующих задач: 1. реализовали возможность парсинга XML файлов и документов; 2. создали возможность распознавать и воспроизводить текст в приложении в нескольких режимах; 3. разрабатывали приложение для MTurk для возможности некоторого редактирования распознанной патентной документации; 4. реализовали возможность помечать отрывки распознанного текста патента и оставлять пометки (теги), которые будут сохраняться во всех режимах распознанного текста патентной документации.

Технологии

JavaScript / Node.js / Express.js / PostgreSQL / React.js / Redux / Next.js / Axios / Fastify / Sequelize / Redis Интеграции: AWS S3 / Complex data through APIs

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

Май 2018 – по настоящее время месяцев

Проект

Образовательный портал

Описание

Описание проекта Разработка онлайн сервиса для размещения образовательного контента и предоставления доступа пользователям к его изучению. Для изучающих контент: - получение информации об образовательном контенте, размещенном в сервисе, через механизм ленты личного кабинета; - получение доступа, включая оплату, к заинтересовавшему контенту; - изучение образовательного контента, размещенного в сервисе. Для создателей контента: cервис, предоставляющий возможность размещать различный образовательный контент (внешний или внутренний) и «продавать» его пользователям, в том числе: - механика рекомендации образовательного контента по интересам пользователей сервиса; - возможность приема оплаты от пользователей за регистрацию на контент через сервис "Робокасса"; - организация различных форм онлайн-обучения через размещение: видео, аудио, pdf-файлов, лонгридов, ссылок на внешние ресурсы; - управление доступом к контенту; - редактирование информации о контенте и ее актуализация; - сбор статистики продвижения и финансов по контенту; - работа с данными пользователей. Для администратора сервиса: управление сервисом через административную панель: - создание административных ролей с настройкой доступа к различным административным спискам; - управление пользователями сервиса; - управление финансами (возможностью приема оплаты контента, установление комиссии сервиса, контроль возвратов, учет доходов); - редактирование и отслеживание отправки электронных писем сервиса по различным событиям; - размещение новых версий правил пользования, изучения, возврата; - формирование внутреннего справочника интересов сервиса с пятью уровнями вложенности, через которые осуществляется рекомендация контента пользователям; - обмен электронными версиями договоров и актов с пользователями, размещающими контент. Что было сделано Решения нашей команды на проекте: - настроили и запустили тестовый сервер (staging); - подключили тестовый режим сервиса приема оплат - “Робокасса”; - подключили файловое хранилище Яндекс облако. Разработан функционал сервиса: - регистрация, авторизация, вход, выход из платформы, функционал подтверждения почты и восстановления доступа; - личный кабинет пользователя: “лента”, “мои интересы”; - “мои проекты” с подсистемой ролей для доступа к проекту, управлением сотрудниками проекта; - интерфейс создания/редактирования “контента” с возможностью создания различных вариантов цен со сроком действия и возможностью управления доступом и регистрацией на контент; - сбор статистики продвижения контента (показы, переходы, источники добавления в избранное, подписок, оплат, неоплат, CTR) и статистики покупок по установленным вариантам цен; - административная панель управления сервисом; - интерфейс изучения контента (текст лонгрида, pdf-ридер, видео, ссылка на внешний ресурс). Онлайн сервис был разработан в мобильных, планшетных и десктоп версиях (административная панель только в десктопе).

Технологии

JavaScript / Node.js / Express.js / PostgreSQL / MongoDB Интеграции: AWS S3 / Payment Systems / Microservices / Complex data through APIs

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

Май 2018 – по настоящее время месяцев

Проект

Платформа для ставок

Описание

Описание проекта Проект для ставок на различные спортивные, политические и иные события. События, на которые можно делать ставки, а также условия ставок (коэффициенты выигрышей и т.д.) задаются в админ-панели, а также импортируются из внешнего сервиса BetFair. Проект состоит из двух основных частей - панель администратора и веб-сайт для внешних клиентов. В панели администратора есть строгая иерархия основных пользователей: 1 главный администратор, далее - вложенности так называемых мастеров (до шести вложенностей), каждый из которых может создавать последующего, и далее - непосредственно клиенты, которым будет дан доступ на веб-сайт для внешних клиентов. Как только клиент создан в панели администратора и ему заданы данные для входа на внешний веб-сайт, создатель этого клиента выдаёт ему стартовую сумму фишек для начала совершения ставок. С этого момента клиент может просматривать доступные события для ставок, их условия, и непосредственно совершать ставки. Доступные ставки называются "маркетами". Таких маркетов в рамках одного события может быть несколько. Маркеты (ставки) могут разных типов. Основные 2 типа ставок - Bookmaker и Fancy. Ставки типа Bookmaker совершаются при наличии нескольких участников события (например, команды в спортивном соревновании) и возможности ставить на победу или поражение конкретного участника. Ставки типа Fancy описывают какой-либо конкретный исход события, и клиенты ставят на то, произойдёт этот исход или нет. Например, могут быть ставки Fancy на то, что восстание машин произойдёт именно в 2025 м году, и клиент делают ставки на то, действительно ли это случится или нет. По окончании события собираются результаты и выдаются выигрыши/забираются проигрыши. Что было сделано 1. Интеграция с внешним API - BetFair. С него приходили динамические данные о маркетах (ставках) и событиях с этими ставками. 2. Унификация данных с BetFair с данными, созданными в системе проекта. Ставки и события, созданные вручную в панели администратора, имели одинаковых формат со ставками и событиями, полученными с BetFair. Это позволило не перегружать БД и иметь удобный, быстро обрабатываемый формат данных для ставок и событий. 3. Покрытие внушительной части данных websocketами. Так как проект работает с деньгами и событиями, часто происходящими в режиме реального времени, он требовал мгновенного отображения любых изменений, происходящих со ставками и событиями. Изменения улавливались в real-time как со стороны действий администраторов, так и со стороны действий клиентов. 4. Внедрение комплексных подсчётов и схем для обработки ставок и потенциальных выигрышей в зависимости от типа маркета, вариации ставки и её коэффициентов.

Технологии

Node.js / TypeScript / React.js / PostgreSQL Интеграции: AWS S3 / Complex data through APIs / BetFair

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

Май 2018 – по настоящее время месяцев

Проект

Корпоративная коммуникационная система в режиме "одного окна"

Описание

Описание проекта Площадка предоставляет возможности: распределение телефонных номеров по всему миру, независимо от местоположения; телефонного шифрования без какого-либо физического оборудования или специального программного обеспечения; проведение многопользовательских звонков; предоставляет ссылку на скачивание записанных вызовов. Что было сделано Мы создали сервер с нуля, используя Node.js в качестве серверной платформы и его фреймворки (Express.js, Fastify). Клиенты Voicenter могли загружать записанные звонки по прямой ссылке, а сервер передавал запрошенный файл из одного из доступных хранилищ (Amazon S3, FTP и т. д.). Мы также настроили службу ведения журнала RabbitMQ, которая позволяла Voicenter отслеживать нагрузку на серверы. Также нашей задачей было обновить один из JS-генерирующих модулей (swagger-js-codegen). Мы работали с fork этого модуля и обновили его до синтаксиса ES6, добавили необходимую функциональность и сгенерировали API из предоставленного файла JSON. Также мы создали авто-тесты для сгенерированных контроллеров.

Технологии

JavaScript / Es6 / Node.js / Express.js / Swagger.js / Codegen / Fastify / PostgreSQL Интеграции: AWS EC2 / AWS S3 / FTP / RabbitMQ

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

Май 2018 – по настоящее время месяцев