Специалисты
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 – по настоящее время месяцев