Специалисты

Описание

Programming Languages:
JavaScript (ES6+), Typescript, Ruby, HTML/HTML5, CSS/CSS3, SQL

Framework/Libraries:
React.js, Redux, Redux Saga, Redux-thunk, React-router, Next.js, Material-UI, Lodash, Axios, Bootstrap, Mobx, Underscore, Node.js, ExpressJS, Nest.js, Ruby on Rails, Moment.js, Animate.css, SASS(SCSS), LESS, Stylus, PostCSS, jQuery, Socket.io

Cloud services
Google Maps, AWS, Heroku, EC2, s3 bucket

Development Tools:
Git, Webpack

DBMS:
PostgreSQL, MongoDB, Redis

Application Type:
REST

Application/Web Servers:
Nginx, Apache

Other:
Agile, MVC, Ajax, XML, JSON, Adaptive Web, Responsive Web Development, Unix, SSH

Образование
Математическое обеспечение и администрирование информационных систем, Бакалавр
Южный Федеральный Университет, Ростов-на-Дону, Россия

Опыт
Проект

Service of automatic calculation of indicators in real-time

Описание

This gives a reduction in time to obtain market information, as well as an increase in the speed of decision-making on the purchase/sale. What was done This application consists of several parts. The backend uses 2 programming languages: RoR and GoLang. The microservice is written on GoLang, is used for basic calculations of data on indicators and events, which ensures system performance. The main logic of the backend is written in RoR. For the frontend, we use React.js, which in turn also provides application performance and responsiveness. At the moment, the smart-list logic has been implemented with the display of data on about 400 trading pairs from 2 exchanges: binance and huobi. The user has his own personal account, can set the parameters of both indicators and for triggering events, in order to receive a notification in a telegram bot. The main indicators of the application are change, CCI, RV3, Divergence, Level. Also, a trading view chart is integrated into the system to display data and information on the selected trading pair. In addition to the main indicators, the system is collecting and storing pair parameters such as margin, daily volume, Last Price, etc. The project is still in progress. In the near future will be integration of the payment system and subscription to work with the application with the ability to select several tariffs and trial period.

Технологии

JavaScript / React.js / Ruby / Go / Sidekiq / PostgreSQL Integrations: Heroku / Payment systems / Sockets / Microservices / Complex data through APIs

Проект

Their Story

Описание

The main aim of this project is to give people a place to store their memories and family stories. The system provides the ability to record audio and video calls and share them with groups. Records are stored securely to suit personal privacy. What was done We worked with React.js and Node.js as the technology stack. As for a database, no relational option was chosen, so we used MongoDB. For Amazon storage, we used AWS S3. The system includes streaming video calls, which are required research for the best option. Records can also just be uploaded, and the admin section has an export feature for reports in XLS format as well.

Технологии

JavaScript / React.js / Redux / Node.js / MongoDB Integrations: Heroku / AWS / Payment systems

Проект

Toggle

Описание

Toggle is an application that allows users to buy and sell real estate. It also allows agents to work with clients through the application. Users have the opportunity to view a list of available properties (nearby, visited, favorites), and they can also make an appointment to visit and direct the visitor through the property (the user receives a description of the property: rooms, bathrooms, etc.).Sellers have the opportunity to list their property, add a comprehensive description, create a “step by step guide” - a guide that will be shown to the person who visits the property. What was done We have worked on the front-end part of the application. We"ve used React-Native for mobile app and React.js for the admin panel. We"ve worked on custom calendar, notifications, profile views and all the parts of complex UI. Also, we engaged in developing the backend part using Node.js, Express.js, PostgreSQL (handled with Sequelize) and JWT for user authentication and authorization. We built the authorization and authentication systems, as well as different APIs for the application, such as the Home page APIs (show listings of the properties), Scheduling APIs (allows the users to create an appointment request), Seller APIs (allows the seller to configure the visits: when, for how long, and so on). There were some challenges: for example, we needed to make sure that the appointments and available appointment times are presented to the buyer in the correct timezone. We created a bunch of services, that helped us to resolve this issue. We used Moment.js and Moment-timezones modules. Another challenge was optimization. We created a lot of the raw SQL database requests. It allowed us to get the necessary data in a single database request.

Технологии

JavaScript / React.js / React Native / Node.js / Express.js / Moment.js / PostgreSQL Integrations: AWS EC2 / AWS S3 / Google maps / Сomplex data through APIs / August

Проект

Shypple

Описание

The goal of this project was to provide customers of the Dutch logistics company Shypple with the ability to quickly and conveniently track the delivery of goods by sea. The Shypple service allows you to search, compare, order, and manage foreign delivery options. The system also provides a deeper understanding of the cost of delivery.Users have the ability to:- choose potential performers;- search and compare delivery options;- track the status of cargo transportation;- fill out all the necessary documentation online;- chat with contractors about each order separately. What was done The front-end part of this single-page application (SPA) was developed using TypeScript + React.js, while the back end used Ruby on Rails + PostgreSQL. We were also tasked with implementing a marketing website with basic information about the company, which we used the popular CMS WordPress 4.9.8. We added a theme based on HTML5Blank Theme (http://html5blank.com/), which combines the modern capabilities of HTML5, Bootstrap grid, simplicity and lightness of the code, and also uses the Gulp build system to quickly and safely create scripts and styles. In addition, the theme provides a more convenient mechanism for adding your own templates for individual pages, as it combines a unified page frame, aligned with the design of the site and the possibility of pagebuilder from SiteOrigin. To implement specific tasks, we added proper widgets (for example, Shypple Smart Tabs, letting us combine slider and admin controls as tab-switches) and the ability to edit data/content by means of the admin panel. For more safety, the standard URL for the admin panel was redefined, and for all the sites, a reCaptcha form was added. For this service, we implemented: - the search and selection of contractors; - cargo tracking on a map;- drift chat for each order;- various supporting documents;- a marketing website.

Технологии

JavaScript / Typescript / React.js / Ruby on Rails / PostgreSQL / PHP / WordPress Integrations: AWS EC2

Проект

Pressfeed

Описание

Pressfeed helps reporters to quickly receive material for articles. They place a request for experts to respond to, then get an invoice for the material. Meanwhile, for experts and PR specialists, Pressfeed is a platform for working with the media. By responding to journalists" requests, they get mentions in the media. What was done Prior to our work on the Pressfeed project, the client part of the website had been implemented using the jQuery library. Our goal was to modernize the application by updating the design and adding new features for users. Our team rebuilt the application"s front end using React.js + Redux, with an SCSS preprocessor for the CSS styles. React Select and DraftJS libraries were configured in the project"s structure (converting BBCode to HTML and vice versa). Also, the real-time chat was added for user communication (Socket.io library, WebSocket protocol). For this service, we implemented:- the ability to search for media publications;- the ability to search for experts;- chats;- full-text search;- registration and login via SMS;- a blog.Users have the ability to:- suggest topics for media publications;- receive an invitation to become an expert;- set up personal subscriptions to targeted media;- provide products for media reviews in exchange for references in materials and broadcasts;- check statistics (publications, queries, number of media);- contact support;- customize the newsfeed;- access a virtual PR manager;- find an invoice for publications and participation in television and radio programs;- find a specialist in a specific field of knowledge.

Технологии

ES6 / Webpack / React.js / Redux / SCSS / jQuery / Socket.io / Python / Redis / Django

Проект

Skillmil

Описание

This project puts employers and specialists (veterans) in touch. A great competitive advantage for a user is the ability to load their r?sum? on the site and after that the system automatically fills in the information in the profile. Much attention is paid to military specialties - there are fields specifically for military experience - and user r?sum?s are well-parsed. Also, the website uses a complex system to find the most suitable candidate, based on their experience and the requirements of the employer. What was done We worked on the personal account. We implemented a heuristic calculation of how a person fits for each job. Analytics of each user action was performed using FullStory, Segment, Mixpanel. Here are the features we developed for this endeavor as well: - automatic filling in the user"s profile after loading the r?sum?; - keywords highlighted using the CoreNLP module; - chats between users implemented with SendBird; - payment using Stripe; - integration with LinkedIn.

Технологии

JavaScript / React.js / Redux / Node.js / Express.js / PostgreSQL Integrations: Stripe / LinkedIn

Проект

Bizit

Описание

Bizit allows users to share their business cards and create new connections. By uploading a business card to Bizit, or creating one through the app, users are able to share their card via wi-fi, email, Bluetooth, and contacts. And they have the ability to expand their network by searching for connections through the Discover page. What was done We were part of a team that worked on the whole website. We created an admin panel that allows new organizations to be added to the portal and the updating or removal of existing ones. Our biggest challenges were geopositioning and structuring the database. Geopositioning works with the users" current positions, which can be received from their devices, and those of nearby users, to calculate the differences in latitude and longitude.

Технологии

React Native / React.js / Node.js / Express.js / MongoDB Integrations: ABBYY OCR / Google Places API / FCM / AWS S3

Проект

Givebutter

Описание

This crowdfunding platform allows the collection of money for a project"s realization, as well as the creation of new projects and advertising. The main feature of the platform is that, unlike its competitors, it doesn"t charge you 10% for its services. What was done The project was written by another team on Laravel. When we added React.js to this project, the app started working faster, which solved the problem of reloading each page. Now the owner has the ability to draw only the necessary part of the content. The main advantage of React.js is saving time on drawing those elements that do not change.

Технологии

Javascript / React.js / Redux / PostgreSQL / Laravel

Проект

Calltend

Описание

The project is meant to help real estate agents optimize their work. Integrated with SmartZip and the collection of listings, Calltend provides businesses with full insight into performance and client interaction data, so that they can scale operations up or down as they please. What was done We worked on the integration of SmartZip with the Calltend API. As the API was not fully documented, this caused integration issues. But we solved this problem through monitoring and updating. Updating code so it corresponded with a changing third-party solution was also the part of the job.

Технологии

Ruby / PostgreSQL Integrations: AWS EC2 / complex data through APIs

Проект

Интерактивная образовательная интернет-платформа

Описание

Что было сделано Мы работали с той частью платформы, где было необходимо разработать упражнения для дошкольников (обучение чтению в игровой форме). Работали на фронте (React + MobX). Занимались имплементированием логики упражнений, программирование анимаций, подключение озвучки. Пришлось очень глубоко погрузиться в асинхронную работу браузера для решений задачи передвижения игровых персонажей, а также анимирования фоновых объектов. Анимацию реализовывали с помощью Anime.JS, Lottie, CSS, D3, Drag"n"drop.

Технологии

JavaScript / React.js / MobX

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

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

Проект

Онлайн-сервис для сравнения криптовалют в режиме реального времени

Описание

Описание проекта Онлайн-сервис предоставляет услугу автоматического расчета индикаторов и сравнения пар криптовалют в режиме реального времени. Актуальные данные о криптовалютах поступают с крупнейшей платформы по объему торгов и глобальной спотовой биржи. Что было сделано Это приложение состоит из нескольких частей. Бэкенд использует 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 / Go / Sidekiq / PostgreSQL Интеграции: Heroku / Payment systems / Sockets / Microservices / Complex data through APIs

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

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

Проект

Платформа с курсами выдающихся людей

Описание

Описание проекта На одном интернет-портале объединены мастер-классы самых выдающихся профессионалов в разных областях: кино, журналистика, театр, дизайн, фотография, спорт, музыка, наука, кулинарное искусство, изобразительное искусство и другие. Что было сделано Наша команда создала веб-сайт с онлайн уроками выдающихся людей, подключены платежные системы для оплаты уроков в личном кабинете. Также мы участвовали в реализации функционала: - появилась возможность пройти курс от любого преподавателя: создание личного кабинета студента, оплата курсов, доступ к курсам, автоматическое закрытие доступа по истечении оплаченного доступа; - создание заметок/конспектов в процессе обучения и доступ к ним в дальнейшем; - повторно просматривать пройденный материал в своих курсах; - чат с преподавателями; - возможность подарить курс.

Технологии

Javascript / React.js / Redux / Redux-Saga / Node.js / Express.js / Sequelize / PostgreSQL Интеграции: AWS S3 / Social networks / Payment Systems / AWS Elemental MediaConvert / Complex data through APIs (Google Analytics) / Twilio

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

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

Проект

Семейный сервис

Описание

Описание проекта Нашей главной целью было создание сервиса, где семьи могли бы хранить воспоминания и семейные истории. Система даёт возможность записи аудио- и видеозвонков, их хранения, и функцией “поделиться с группами”. Записи надёжно хранятся, что обеспечивает конфиденциальность. Что было сделано На этом проекте мы работали с React.js и Node.js как основным стеком технологий. Что касается баз данных, выбор был сделан в пользу нереляционных, поэтому мы использовали MongoDB. Для Amazon хранения мы использовали AWS S3. Система позволяет совершать видеозвонки, загружая потоковое видео на s3. Мы проанализировали систему для выбора лучшего технического решения. Видео также можно загрузить. Административная часть включает в себя возможность экспорта отчета в xls формате.

Технологии

JavaScript / React.js / Redux / Node.js / MongoDB Интеграции: Heroku / AWS / Payment systems

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

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

Проект

Сайт бронирования номеров отелей Японии

Описание

Описание проекта Проект направлен на бронирование номеров отелей во всех городах и префектурах Японии. Особенность букинга в Японии состоит в том, что гость может бронировать отели по сроку кратным неделе, а этот сайт позволяет обойти это правило и забронировать, например, на 10 дней. На данном сайте доступна онлайн оплата через японские банки. Была реализована карта страны с городами, где можно увидеть список доступных отелей с номерами, реализующих приведенную выше систему бронирования. На сайте есть фильтр, который позволяет выбрать наилучшие варианты размещения, учитывая запросы гостей. Что было сделано Работа проходила на Backend. Были выполнены следующие задачи: - реализована система поиска и сортировка отелей по координатам; - на сайте также была добавлена система авторизации для пользователя, менеджера и администратора. - добавлен функционал оплаты через японские банки; - реализована синхронизация информации между сайтом и отелями посредством channel-менеджеров; - внедрена интеграция с API агрегаторов отелей; - реализована система уведомлений и push уведомлений по сокетам и через email; - добавлена система отзывов для оценки качества предоставляемых услуг в отеле с возможностью review от лица менеджеров отелей. Если отель пользуется популярностью и оценки хорошие, то, благодаря внедрению системы рейтингов, отель попадает в таблицу рейтингов, где пользователь может увидеть на главной странице наиболее популярные отели. Работа велась в команде с продукт-менеджером со стороны Заказчика.

Технологии

Ruby / Ruby on Rails / MySQL Интеграции: Google maps / Payment Systems / Socket.io / Complex data through APIs

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

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

Проект

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

Описание

Описание проекта Это своего рода облако, куда пользователь может интегрировать все свои курсы с других обучающих платформ и, совместив это с данной Learning Experience Platform, создать индивидуальный план обучения. Learning Experience Platform состоит из множества различных частей и алгоритмов подбора контента для каждого пользователя по его интересам, навыкам и пристрастиям. Данная платформа также предусматривает совместное корпоративное обучение. Данный проект имеет отдельную панель для администратора. Здесь, в удобном для пользователя формате, можно сконфигурировать и настроить платформу индивидуально для каждой организации. Здесь есть разделение контента по каналам, группам, много аналитики и статистики, определение лидеров и топов среди пользователей, получение наград и бонусов, ведение живых стримов и т.д. Что было сделано Мы начали работать над проектом, еще когда он был только концепцией. Тогда стартап привлек инвестиции и получил множество наград. В настоящее время платформа используется на международном уровне компаниями и крупными государственными организациями. Наша команда по большей части отвечает за админ часть, группы и каналы, а также external API для синхронизации платформы с другими проектами. Мы занимаемся как поддержкой, разработкой, внедрением нового дизайна и фронтенд функционала (HTML5, SCSS, Vue.js, 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 / Nuxt / Ruby / Redis / MySQL / neo4j / Node.js Интеграции: Microservices

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

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

Проект

Приложения для торговли недвижимостью

Описание

Описание проекта Приложение также позволяет агентам работать с клиентами через приложение. У пользователей есть возможность просматривать список доступных свойств (рядом, посещенные места, избранное), а также они могут назначать встречу для посещения, получая полное описание недвижимости: комнаты, ванные и т. д.). Продавцы могут перечислять свою собственность, добавлять подробное описание, создавать «пошаговое руководство», которое будет показано человеку при осмотре недвижимости. Что было сделано В ходе работы над проектом было разработано техническое решение и выбраны следующие технологии для осуществления поставленных задач: - на фронтенде использовался React-Native (для создания мобильного приложения) и React.js (админ-панель). Был разработан пользовательский календарь, уведомления, вид профиля и все части сложного пользовательского интерфейса. - на бекенде работали с Node.js, Express.js, PostgreSQL (обрабатывается с Sequelize), а JWT использовали для аутентификации и авторизации пользователей. Cерверная часть приложения была развернута EC2. Также была выстроена структура системы авторизации и аутентификации, основанная на верификации сторонними сервисами документов пользователя и сравнение фото из документа с фотографией регистрирующегося пользователя. Запрос был реализован через API для приложения, таких как API домашней страницы («показать списки свойств»), API планирования (позволяет пользователям создавать запрос на встречу), API продавца (позволяет продавцу настроить посещения: время, длительность и т. д.). Для того, чтобы встречи и доступное для них время были представлены покупателю в правильном часовом поясе были внедрены модули Moment.js и Moment-timezones. В рамках работы на проекте также была решена проблема с оптимизацией. Было создано много необработанных запросов к базе данных SQL, что позволило получить необходимые данные в одном запросе.

Технологии

JavaScript / React.js / React Native / Node.js / Express.js / Moment.js / PostgreSQL Интеграции: AWS EC2 / AWS S3 / Google maps / Сomplex data through APIs / August

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

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

Проект

Платформа для журналистов

Описание

Что было сделано В начале нашей работы над проектом Pressfeed, клиентская часть проекта была реализована с использованием библиотеки jQuery. Нашей целью были модернизация приложения, обновление дизайна и добавление новых возможностей для пользователя. Наша команда переделала front-end сервиса с использованием React+Redux, для CSS стилей использовался препроцессор SCSS. В проекте настроены библиотеки React Select и DraftJS (конвертация BBCode в HTML, и наоборот). Добавлен real-time чат для общения пользователей (библиотека Socket.io, протокол WebSocket). Для сервиса мы реализовали: - сервис поиска запросов на публикации в СМИ; - сервис поиска экспертов; - возможность общаться при помощи чатов; - полнотекстовый поиск; - регистрация и логин через SMS; - блог. У пользователей есть возможность: - предлагать свои темы публикаций в СМИ; - получить приглашение стать экспертом в публикациях; - настраивать персональные подписки по запросам целевых медиа; - предоставлять продукты/товары для обзоров в СМИ в обмен на упоминания в материалах и эфирах; - просматривать статистику (публикации, запросы, количество СМИ); - задать вопрос техподдержке; - настраивать новостную ленту; - воспользоваться услугой Виртуального Пиарщика; - найти фактуру для публикаций и участия в теле-, радио - передачах; - найти специалиста в нужной области знаний; - воспользоваться услугой Виртуального Пиарщика; - искать фактуру для публикаций и участия в теле- радио - передачах; - искать специалиста в нужной области знаний.

Технологии

ES6 / Webpack / React.js / Redux / SCSS / jQuery / Socket.io

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

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

Проект

Облачное хранилище документов

Описание

Описание проекта Хранилище документов на базе облачного управления содержимым и совместного использования файлов для бизнеса. Что было сделано Проект сверстан с нуля. Произведена интеграция с Box через API. Реализованы все требования клиента: - логин/логаут; - возможность просмотра документов в трех различных видах; - поиск документов по разным сочетаниям критериев поиска; - сохранение критериев поиска для возможности быстрого поиска в следующей сессии; - поиск внутри документов по метаданным в разных сочетаниях; - работа с документами: загрузка, редактирование, удаление документов, в соответствии с правами доступа. В процессе реализации возникла проблема со скоростью загрузки содержимого, которая была успешно решена.

Технологии

JavaScript / React.js / Node.js / MongoDB Интеграции: AWS EC2 / Box com API

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

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

Проект

Платформа для поиска специалистов

Описание

Описание проекта Проект позволяет работодателям найти специалистов (ветеранов) и наоборот. Большим конкурентным преимуществом платформы является возможность загрузить свое резюме на сайт, и система сама заполнит информацию в профиле, исходя из этого документа. Также большое внимание уделено именно военным специальностям. Их резюме хорошо парсятся. В профиле есть специальные поля, отведенные под военный опыт. Также используется сложная система поиска наиболее подходящего кандидата по имеющемуся у него опыту, исходя из требований работодателя. Что было сделано Работа велась с личным кабинетом. Мы реализовали эвристический подсчет соответствия человека каждой вакансии. Аналитика каждого действия пользователя была исполнена с помощью FullStory, Segment, MixPanel. Кроме этого, на проекте было реализовано: - автоматическое заполнение профиля пользователя, после того как загрузили резюме; - выделение ключевых слов при помощи модуля coreNLP; - чаты между пользователями, выполненные с помощью sendBird; - платежи при помощи Stripe; - интеграция с LinkedIn.

Технологии

Javascript / React.js / Redux / Node.js / Express.js / PostgreSQL Интеграции: Stripe / LinkedIn

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

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