Специалисты
Programming Languages: JavaScript - Typescript - SQL - HTML/HTML5 - CSS/CSS3
Framework/Libraries: React.js - Redux - Redux Saga - Node.js - ExpressJS - Sails.js - Nest.js - Material-UI - Lodash - Axios - Moment.js - Bootstrap - Mobx - Animate.css - SASS(SCSS) - LESS - Stylus - PostCSS - jQuery - Next.js - Underscore - Socket.io
Cloud services: Google Maps - AWS - Heroku - EC2 - s3 bucket
Development Tools: CSS modules - Webpack - Git
Other: Adaptive Web - MVC - Ajax - XML - JSON - Agile - Responsive Web Development - Unix - SSH - GPS
DBMS: PostgreSQL - MongoDB - Redis
Application Type: REST - Social Networks
Application/Web Servers: Nginx - Apache
Образование:
Программная инженерия, Бакалавр; ИКТИБ, Таганрог, Россия
Unelmista
Приложение для благотворительной организации SOS Lapsikyl?.Unelmista.fi - платформа, которая помогает семьям сплотиться, предоставляет поддержку детям и подросткам в сложных жизненных ситуациях, позволяя каждому ребенку школьного возраста иметь хобби.Организация позволяет малоимущим семьям получить финансовую поддержку для самореализации ребенка. Сайт объединяет тех, кто нуждается в материальной помощи и заинтересован в том, чтобы у детей было свое увлечение. Что было сделано Наша команда покрывала все фронтенд задачи на проекте: авторизация, аутентификация доноров и нуждающихся клиентов, восстановление доступа через E-mail. Подсистема для нуждающихся: • просмотр списка доступных хобби/активностей, отображение детальной информации о хобби;• подача заявки на помощь;• просмотр списка заявок;• добавление документов для подтверждения заявки на запрос денежных средств. Подсистема для доноров:• выбор региона для внесения пожертвования, отображения карты Финляндии с метками выбранного региона;• выбор активности для пожертвования;• выбор суммы пожертвования и типа пожертвования (одиночное или регулярное);• введение реквизитов счета через Payment-highway;• отображение списка пожертвований, отображение и деактивация активных регулярных пожертвований. Адаптивная верстка: отображение новостей, хранящихся на Wordpress портале организации, парсинг ссылок для перехода. В процессе разработки мобильной верстки возникали трудности с ключевыми элементами background-изображения, которые были решены настройкой цветовой фильтрации приходящих с сервера иконок.
React.js / Redux / Redux-Saga / Material-design Интеграции: Payment-Highway
месяцев
Selfpost
Приложение для отправки посылок в любой удобный пункт. В приложении есть две роли: Заказчик и Почтальон. Идея приложения заключается в том, что заказчик может найти почтальона, который доставит посылку из пункта А в пункт Б. Почтальон же, может взять несколько заказов, которые надо доставить в пункты по пути его следования. В приложении есть два вида сделки: безопасная и обычная. Обычная сделка связывает заказчика и почтальона, при это оплата и дальнейшие переговоры проходят напрямую между пользователями. Безопасная сделка защищает обе стороны и дает гарантии, что заказ будет доставлен (для заказчика) и будет оплачен (для почтальона). Эти гарантии предоставляются благодаря системе оплаты Escrow: заказчик оплачивает заказ сразу и средства удерживаются на стороне сервиса Selfpost до момента завершения заказа, после подтверждения завершения заказа почтальоном деньги автоматически переводятся на его счет. В случае невыполнения доставки деньги возвращаются на счет заказчика. Также у приложения есть панель администратора для управления контентом и отслеживания заказов. Что было сделано Наша команда присоединилась к проекту на стадии разработки. Основная задача, над которой мы работаем - интеграция функционала оплаты и верификация пользователей. Основной трудностью было выбрать сервис оплаты, который будет работать во всех (или хотя бы в большинстве) странах. Также в ходе решения основной задачи, был исправлен уже существующий функционал и оптимизирована работа приложения в целом.Выполненные задачи:- интеграция SMS подтверждения номера при регистрации;- изменения во front-end приложения;- настройка безопасности;- добавление языков в админ панели;- подключение платежных систем Stripe и Paypal;- удержание средств.
React.js / Nest.js / MongoDB / GO Интеграции: Payment Systems
месяцев
Tutor app
Мобильное приложение для взаимодействия студентов и репетиторов. Пользователи/студенты могут искать подходящих для них репетиторов на платформе, где у них есть доступ к полной информации об образовании и опыте репетитора. Перед добавлением на платформу все репетиторы проходят верификацию. В приложении есть функционал, с помощью которого репетиторы отслеживают время занятия, выставляют счета и получают оплату. Также в приложении реализована админ-панель. Что было сделано Фронтенд Админ-панели был разработан на React.js, Redux Saga + Typescript. Также использовались компоненты из библиотеки Material UI и Ant Design, библиотеки moment.js, luxon, запросы осуществлялись с помощью Axios. Back-end был разработан на Node.js, Express.js. В качестве БД был выбран PostgreSQL, ORM Sequelize. Библиотеки moment.js, luxon использовались для работы с датами, request-promise для отправки запросов, AWS S3 был использован как хранилище файлов и passport.js для авторизации пользователей.
Javascript / Typescript / React Native / React.js / Redux / Redux-Saga / Material-UI / Ant Design / Node.js / Express.js / PostgreSQL / ORM Sequelize Интеграции: AWS S3 / Payment Systems
месяцев
Fabulate
Fabulate - проект, основной задачей которого является возможность найти людям работу. В рамках данного проекта существует несколько разных типов пользователей, в зависимости от этого, пользователь может делать заказы на написание статей на разные темы, быть исполнителем этих заказов, либо подтвержденным организацией редактором статей. Платформа предоставляет широкие возможности для написания статей и интегрирована с платежными системами, имеет приятный и дружелюбный интерфейс. Что было сделано В рамках проекта было выполнено несколько объемных задач: 1. с использованием сервиса keen.io и echarts была создана аналитическая система, отображающая данные о посетителях: время и место прочтения, пол, примерный возраст, локацию и т. д.; 2. на основе Getty Images API была произведена интеграция системы поиска в хранилище изображений Getty Images в браузерный текстовый редактор TineEditor, система поиска поддерживала разграничение доступа между разными пользователями и поддерживала возможность ограничения количества используемых изображений. Каждое найденное изображение вставлялось в текстовый редактор в низком разрешении, после подтверждения статьи, все изображения можно скачать в HD качестве из Getty Images на удаленный S3 сервер.
Javascript / React.js / Node.js / PostgreSQL Интеграции: Heroku / AWS S3 / Payment Systems / Socket.io / complex data through APIs
Think Empire
Платформа для бизнеса недвижимости. Портал позволяет собирать данные с различных сайтов, обмениваться сообщениями во встроенном мессенджере, а также производить поиск зданий, людей, сделок по нескольким категориям. Что было сделано Основную работу проделали с разделом карт и встроенным мессенджером. Карта дает возможность осуществлять поиск по фильтрам, просматривать расширенные данные по зданиям, включая владельцев, последние совершенные продажи, сохранять здания в списки, которыми можно поделиться с командой, компанией или отправить конкретному пользователю через встроенный мессенджер, электронную почту, смс. Платформа позволяет отметить необходимые свойства для продажи и установить статус вашей работы с выбранным зданием. Для сообщений в реальном времени использовали сокеты. Также оптимизировали производительность, несмотря на высокую нагрузку БД (более 6 млн. записей только для Нью-Йорка).
Javascript / React.js / Redux / MySQL Интеграции: Heroku / AWS / EC2 / AWS S3 / Google maps / Socket.io / Complex data through APIs
месяцев
Voicenter Calls
Voicenter Calls - это корпоративная коммуникационная система, предоставляющая услуги связи в режиме "одного окна". Площадка предоставляет возможности: распределение телефонных номеров по всему миру, независимо от местоположения; телефонного шифрования без какого-либо физического оборудования или специального программного обеспечения; проведение многопользовательских звонков; предоставляет ссылку на скачивание записанных вызовов. Что было сделано Мы создали сервер с нуля, используя Node.js в качестве серверной платформы и его фреймворки (Express.js, Fastify). Клиенты Voicenter могли загружать записанные звонки по прямой ссылке, а сервер передавал запрошенный файл из одного из доступных хранилищ (Amazon S3, FTP и т. д.). Мы также настроили службу ведения журнала RabbitMQ, которая позволяла Voicenter отслеживать нагрузку на серверы.Также нашей задачей было обновить один из JS-генерирующих модулей (swagger-js-codegen). Мы работали с fork этого модуля и обновили его до синтаксиса ES6, добавили необходимую функциональность и сгенерировали API из предоставленного файла JSON. Также мы создали авто-тесты для сгенерированных контроллеров.
JavaScript / Swagger.js / Codegen / Es6 / Node.js / Express.js / Fastify / PostgreSQL Интеграции: AWS EC2 / AWS S3 / FTP / RabbitMQ
месяцев
Reo Travellers
Reo Travellers - проект, задуманный как альтернатива BlaBlaCar в Африке, основными его отличиями являются:- чтобы водитель мог создавать поездки, он проходит многоступенчатую валидацию гос. документов, (ВУ/Паспорт), а также наличие фотографии, подтверждающей личность водителя, что увеличивает безопасность пользователей во время поездки. (Валидация частично происходит через гос. сервис, либо вручную владельцем сервиса);- система оплаты владельцу сервиса: водитель платит установленный процент от общей возможной выручки при создании поездки. Что было сделано Был реализован следующий функционал:- возможность создания, редактирования, удаления поездки;- во время создания поездки, можно добавлять промежуточные остановки, где пользователи могут закончить поездку или присоединиться к ней;- для поиска мест используется google API (поиск места по названию), для уточнения места используется карта (мобильная версия);- удаление подписавшегося пользователя, либо уменьшение мест, которые он забронировал;- поиск поездки (в определенном радиусе от заданного места отбытия/прибытия, поиск идет также и по промежуточным пунктам, не включая поездки, в которых нет мест);- общение между пользователями (простой мессенджер);- настройка личных предпочтений (отношение к музыке, курению в авто, животных в авто и общению);- редактирование пользовательских данных, в том числе предпочтений по поездке.Во фронтенд разработке использовался фреймворк React.js, Redux. Для отслеживания пропсов использовался prop-types. В процессе работы была изучена библиотека Material-UI, а также в проект была интегрированы google maps, autocomplete, несколько google компонентов на одной странице. На проекте был подключен Eslint (airbnb) и Husky (pre-commit), соответственно в репозиторий пушился только чистый код. Работа с git проводилась в соответствии с gitflow. Была проведена работа с БД (MongoDB), геоданными, писались запросы к БД, для их оптимизации использовались aggregation, lookup, project, unwind и т.д.). Также проводилась обработка ошибок запросов к серверу, и их корректное отображение на фронте.
JavaScript / Es6 / HTML5 / CSS3 / React.js / Redux / Redux Saga / MongoDB / Node.js / Express.js / Passport.js / Mongoose / React Native Интеграции: Google Maps
месяцев