Андрей . Node.JS

Описание

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

Framework/Libraries
- Node.js
- Express.js
- Nest.js
- React.js
- Redux
- Redux-Saga
- Material-UI
- Underscore
- Lodash
- Next.js
- Axios
- Moment.js
- Bootstrap
- Mobx
- SASS (SCSS)
- LESS
- Stylus
- PostCSS
- jQuery

Cloud services
- AWS
- EC2
- s3 bucket
- Heroku

DBMS
- PostgreSQL
- MySQL
- MongoDB
- Redis

Development Tools
- Git
- Webpack

Application Type
- REST

Application/Web Servers
- Nginx
- Apache

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

Опыт
Проект

Международное облачное решение для индустрии красоты

Описание

Описание проекта ERP-система для салонов красоты и спа-центров. Что было сделано Основной задачей проекта была разработка мобильного и десктоп интерфейсов в соответствии с дизайном. Реализовали функционал booking/check-in (Mapbox): включало работу с геолокацией пользователя, кластерами и динамическим приближением. Взаимодействие с api проводилось путем отправки запросов при помощи Redux-thunk библиотеки. Состояние appointment (выбранные услуги и провайдеры) сохранялось между перезагрузками страницы. Создали возможность добавления кредитных карт на аккаунт и их верификацию при помощи системы WorldPay. Сделали веб-приложение, которое легко интегрируется в мобильное приложение на React Native, в т.ч. с возможностью добавления отступов в случае наличия на устройстве вырезов на экране. Весь разработанный функционал покрыт unit-тестами, во избежание регрессионных ошибок.

Технологии

React / Redux / Redux-Thunk / Axios / Draft-js / Immer / Lodash / Reselect / Luxon / Linaria / Craco / Mapbox / Respond-framework / Jest Интеграции: Social networks / Payment Systems

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

Апрель 2018 – настоящее время месяцев

Проект

Интернет-магазин умных устройств

Описание

Описание проекта Данный проект - крупнейший на Российском рынке интернет-магазин умных устройств, связанный с прямой продажей товаров, собственного производства, который на момент разработки нашей командой находился в режиме production. (Продуктом уже пользовались конечные клиенты). В задачу нашей команды входила полная поддержка продукта, интеграция с различными сторонними сервисами, системами аналитики, и учета продаж. Что было сделано В процесс разработки была успешно внедрена методика управления проектами SCRUM, налажен процесс взаимодействия между серверной и клиентской командами, введено полное покрытие проекта авто- и e2e- тестами, взято за основу правило DRY (Don"t repeat yourself), а также, еженедельный рефакторинг малопроизводительных или некорректно работающих систем, пришедших от прошлых итераций разработки предыдущими командами. Эт всё ускорило выпуск релизов на 20%, значительно ускорили работу всех сервисов, а также втрое сократили объём ошибок, доходящий до конечного пользователя. Уникальность проекта - в его сложной структуре. Множество продающих лендинговых страниц, тесно связанных друг с другом. Общая корзина и система личного кабинета пользователя, интегрированная с системой банковской авторизации. Больше половины всех страниц - динамически изменяемые, и реагирующие на поведение и действия пользователя. Оптимизация заключалась за счет использования фреймворка Gatsby, предоставляющего возможность использовать все преимущества SSG (Server Side Generating) технологии.

Технологии

JavaScript / React.js / Next.JS / Gatsby / GraphQL / Git LFS / Cypress Интеграции: Google maps / 2Gis / Dadata / Google Analytics / 1C Bitrix

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

Апрель 2018 – настоящее время месяцев

Проект

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

Описание

Описание проекта Корпоративная коммуникационная система, предоставляющая услуги связи в режиме "одного окна". Площадка предоставляет возможности: распределение телефонных номеров по всему миру, независимо от местоположения; телефонного шифрования без какого-либо физического оборудования или специального программного обеспечения; проведение многопользовательских звонков; предоставляет ссылку на скачивание записанных вызовов. Что было сделано Создали сервер с нуля, используя 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

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

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

Проект

Комплекс FinTech-продуктов

Описание

Описание проекта Комплекс FinTech-продуктов, предоставляющих следующие услуги: - платежи и переводы; - обмен валют; - управление контактами и сделками; - купля/продажа криптовалют; - техническая поддержка пользователей. Что было сделано На проекте была проработана интеграция CRM, а именно оформлен переносимый модуль и внедрен в продукты компании. Переписана часть приложений с Javascript на Typescript. Разработана система уведомлений с использованием NestJS, PostgreSQL, RabbitMQ, node-mailer, API Telegram. Работали также с NodeJS, GraphQL, MongoDB.

Технологии

JavaScript / TypeScript / Node.js / Express.js / Nest.js / GraphQL / apollo-server-express / mongoose / node-mailer / class-validator / telegraf / sequelize / tunnel-ssh / pg / PostgreSQL / MongoDB / RabbitMQ Интеграции: Salesap (CRM)

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

Апрель 2018 – настоящее время месяцев

Проект

Сервис для отслеживания PR-мероприятий

Описание

Описание проекта Сервис предназначается для сотрудников компании заказчика и помогает отслеживать проводимые PR-отделом компании мероприятия, записываться для участия в них, а также видеть обсуждения и актуальную информацию по текущим и уже прошедшим мероприятиям. Реализованный сервис имеет достаточно интуитивный интерфейс с одной стороны и информативный и гибкий функционал с другой стороны. Что было сделано Сервис был внедрен в экосистему заказчика с соблюдением общих критериев дизайна. Расширен функционал и повышено удобство работы с сервисом как для организаторов, так и для обычных пользователей. Реализована технология единого входа Single Sign-On (SSO) из backend части которой сделали гибридное приложение, т. е. оно работало как микросервис и REST API одновременно. Использовали кастомную стратегию passport для распределения и раздачи прав разным пользователям. Создание собственного календаря без использования сторонних библиотек для дальнейшей стилизации и масштабируемости логики, опирающейся на его функционал. Календарь обладал возможностью переключения на предыдущие и последующие месяцы без ограничения временного периода.

Технологии

JavaScript / Node.js / Nest.js / React.js / MUI / PostgreSQL Интеграции: Microservices

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

Апрель 2018 – настоящее время месяцев