Специалисты
Programming Languages
JavaScript, Typescript, CSS/CSS3, HTML/HTML5, SQL
Framework/Libraries
Angular: Angular Material, AngularJS, RxJS, NgRX, NG Bootstrap, Redux, Ionic, Underscore, Axios , Bootstrap, SASS (SCSS), LESS, Lodash, jQuery, PostCSS, Stylus, Animate.css, Moment.js, Socket.io
DBMS
MongoDB, MySQL, PostgreSQL, Redis
Cloud services
AWS, Heroku
Application/Web Servers
Apache Kafka, Nginx, RabbitMQ
Application Type
REST
Development Tools
Git, Webpack
Other
Agile, Responsive Web Development, Adaptive Web, Docker, Kubernetes, JSON, Jira, XML, Ajax, MVC, SSH, Unix
Образование
Прикладная информатика (Бакалавриат)
ФГБОУ ВО ЮРГПУ (НПИ) им. М. И. Платова, г. Новочеркасск
Платформа для непрерывного медицинского образования
Платформа, объединяющая врачей и медицинские компании из разных стран и способствующая непрерывному медицинскому образованию (CME) путем предоставления учебных курсов, проведения вебинаров. Перед нами стояла задача расширения функционала существующего приложения, имеющего десктопную и мобильную версии. Необходимо было разработать сервис продажи учебных курсов для докторов с применением системы промокодов. Каждый курс рассчитан на определенное количество часов CME, нужно было вести учет общего количества часов по курсам, которыми владеет пользователь и часов по курсам, которые уже пройдены пользователем. Также клиент хотел осуществить модернизацию новостной ленты из устаревшего двухколоночного вида в современный трехколоночный, объединить в новостной ленте контент из трех существующих вкладок с применением правил фильтрации, добавить виджеты. Что было сделано Над приложением до нас работало несколько команд, мы переписали код с AngularJS на более современный Angular. В рамках проекта доработан функционал админ-панели в части создания и управления промокодами для учебных курсов: - создана страница промокодов, в которой можно создавать как единичные промокоды, так и коллекции разовых промокодов, которые можно применять как к любому, так и к конкретному курсу. В этой же странице можно управлять статусом промокода (активация/деактивация), можно выгрузить информацию о промокоде в формате xlsx. - добавлены данные о продаже курсов и учете выручки от продаж. Расширен функционал страницы пользователя в части фильтрации типов доступных ему курсов, настроен индикатор прогресса обучения по количеству часов, изменена верстка карточек курсов для соблюдения единообразия дизайна всего приложения. Добавлена возможность покупки курсов с использованием сервиса оплаты Hyperpay (региональный сервис для осуществления транзакций) с возможностью запросить возврат за не начатый курс. Добавлена возможность применения промокода и пересчета стоимости курса. Изменена стартовая страница, произведено объединение сбора сущностей с существующих трех вкладок на одну вкладку ленты постов в определенном порядке формирования: 3 поста пользователей, блок рекламы (интеграция с Google ads), контент - сущность от компаний, в зависимости от выбранного фильтра: по популярности или по дате публикации. Для этого полностью изменена существующая логика на бэк енд и создан новый эндпоинт. Добавлены фильтры-подвкладки для отображения контента от пользователей или от компаний. Двухколоночный тип заменен на трехколоночный, добавлены виджеты рейтинга пользователя/пригласи друга (с возможностью интеграции с соц. сетями facebook, telegram, twitter, whatsapp, skype, LinkedIn, reddit)/опросов/уведомлений/популярных постов/промо постов. Произведено ускорение загрузки страницы. Добавлена пагинация перечисленных страниц. Для SEO-оптимизации в приложение добавлены метатеги. Также исправлены баги от предыдущих команд разработки в части редактирования профиля пользователя и повторного начисления и выдачи сертификатов за повторное прохождение курсов, автоскролла при прохождении этапов курса. Адаптивная верстка рассчитана на работу с мобильной версией приложения на RN с использованием сервиса VebView. Кроме того, восстановлены регистрация и авторизация по facebook. Для unit тестирования приложения применены методы Jasmine и Karma. Деплой проекта в Microsoft Asure.
Javascript / AngularJS / Angular 8 / React Native / Java / WebSockets / PostgreSQL Интеграции: Payment Systems / Google ads
Февраль 2022- Январь 2023 месяца
Приложение по управлению маркетинговыми кампаниями
Описание проекта Приложение предлагает услуги по построению программ лояльности для покупателей, геймификации получения реальных бонусов для потребителя, а также предлагает инструменты маркетинговой аналитики. Что было сделано На проекте трудилась выделенная команда специалистов с нашей стороны, сфокусированная на работе над шаблоном решения, которое затем кастомизировалось для нужд различных клиентов, и выпускалось в продакшн. Мы работали над клиентской частью (Angular 8). Наша команда стала частью большой интернациональный команды и плотно работала с коллегами из разных стран и таймзон. Перед фронтенд частью команды была поставлена задача по достижению максимальной скорости взаимодействия приложений с пользователем, как в десктопной, так и в мобильной версии, путем оптимизации клиентской части. Для решения данной задачи мы оптимизировали код клиентской части на использование RxJS, что дало нам возможность перейти к потоковой обработке данных, идущих от сервиса в шаблон, и минимизировать издержки на их обработку. Также наши специалисты провели глубокий рефакторинг и декомпозицию кода с целью формирования готовых библиотек и инструментов внутри приложения для решения обособленных задач таких как, работа с графиками, QR и штрих-кодами, всплывающими окнами и нотификациями, мини-играми для получения бонусов. Что также позволило повысить скорость работы клиентской части и приложения в целом. При работе с клиентской частью мы столкнулись с разветвленной системой вычислений и обработки данных, которая была плохо оптимизирована. Чтобы повысить скорость и оптимизировать нагрузку на приложение был внедрен RxJS и потоковая обработка данных.
JavaScript / Typescript / Angular 8 Интеграции: AWS S3 / Payment systems / Complex data through APIs / Sentry / Google trace
Июнь 2018 – по настоящее время месяцев
Сервис аренды недвижимости в Германии
Описание проекта Основной инструмент — это карта. Мы использовали кастомизированную карту Google Maps со всеми функциями, которые должны быть. Пользователь может регистрироваться в системе под разными ролями - владелец, риэлтор, покупатель и, соответственно выбирать функцию: продавать, арендовать, покупать недвижимость. Все объекты недвижимости доступны на карте - пользователь может выбрать любой из них - простым кликом и просмотреть детальную информацию об объекте, а именно фото, информацию о состоянии самого здания, об интерьере и так далее. Каждому пользователю доступен личный кабинет, где он может просмотреть информацию о своих объектах; объектах, которые он добавил в избранное и так далее. Что было сделано Мы занимались разработкой клиентской части в рамках MVP, после запуска, во время роста и расширения стартапа. В основном, мы работали на фронтенде, используя технологию Angular 7. Мы кастомизировали Google Map и внедрили ее в проект. Основной инструмент в проекте — это карта, была проделана большая работа по ее кастомизации. Реализовали логику по отрисовке кластеров на карте. Каждый кластер — это определенная область Германии с отображением границ кластера и количества объектов недвижимости в нем. Эти данные автоматически перерисовываются под каждый уровень зума. Для более детальных уровней зума вместо кластеров была реализована логика по отрисовке полигонов, которые отображают границы реальных земельных участков с объектами недвижимости на них. Все это реагирует на систему фильтров, которая управляет объектами отрисовки на карте.
Angular 7 / JavaScript / Python / PostgreSQL Интеграции: AWSEC2 / AWSS3 / Googlemaps / complexdatathroughAPIs / Amazonamplify / Amazoncognito / Amazonlambda
Июнь 2018 – по настоящее время месяцев
Сайт для фармацевтической компании
Что было сделано Вся работа на проекте велась на клиентской части, используя Angular 8, Angular Material, RxJS. При работе с клиентской частью мы столкнулись с разветвлённой системой вычислений и обработки данных, которая была плохо оптимизирована. Были созданы компоненты, сервисы и библиотеки, реализующие клиентскую логику. Чтобы повысить скорость и оптимизировать нагрузку на приложение был внедрен RxJS и потоковая обработка данных.
Javascript / Angular 8 / Angular material / SCSS / PostgreSQL Интеграции: Google maps / Social networks / Payment Systems
Июнь 2018 – по настоящее время месяцев
Приложение для администрирования push-нотификаций
Что было сделано Разрабатывали клиентскую часть приложения на Angular 6: - страница Dashboards с общей статистикой; - страница Send Push для создания и отправки нотификаций; - страница My Campaigns для отображения списка рассылок; - страница Campaign Details для отображения информации по выбранной рассылке; - страница My Sites для отображения статистики по сайтам, на которых установлена рассылка. Разрабатывали серверную часть, используя Node.js: - создали скрипт регистрации service-worker к сайтам; - Функционал генерации service-worker к каждому конкретному сайту; - Регистрация пользователей, авторизация, добавление сайта (серверная и клиентская часть), создание уведомления; - Создание отложенных уведомлений, загрузка изображений и иконок для уведомлений.
JavaScript / Angular 6 / Ng2-charts / Node.js / MongoDB Интеграции: Push Notifications
Июнь 2018 – по настоящее время месяцев