Fullstack программист и системный аналитик. Постоянно совершенствуюсь в своей отрасли. Имею большой опыт в общении с людьми.
Telegram: @hab_roman_m
GitHub: https://github.com/Promiteus
Вид деятельности: автотранспортная логистика
Разработка бэкенда с нуля для логистического проекта формирования электронного документа-оборота для водителей.
Задачи:
1. Проектирование и утверждение архитектуры приложения (микросервисная архитектура).
2. Проектирование и утверждение схемы БД и выбор СУБД.
3. Создание сервиса управления аккаунтами пользователей (sso-auth): регистрация, удаление, смена логина и пароля, управление доступами через роли. Интерфейс REST API, выдача JWT-токенов. Настройки доступа к управлению разделами приложения (создание, удаление, редактирование), тарифы (статус оплаты и истечение срока использования), настройки печати путевой документации.
4. Создание сервиса регистрации, удаления и обработки персональных данных юридических и физических лиц (crm-api): организации, физ. лица, договора, сотрудники, транспортные средства, прицепы, должности, журналы, инструктажи, путевые листы. Внедрение ролевого модуля от sso-auth. Интерфейс REST API на базе JWT-токенов.
5. Создание модуля заполнения и печати шаблонов MS Word/MS Excel (LibreOffice) документов для формирования электронных и бумажных документов: договора, журналы медицинского и технического осмотров, журналы путевых листов для отправки в рейс. Логика преобразование документов в PDF.
6. Написание модульных и интеграционных тестов.
7. Интеграция стороннего сервиса pdf-generator (nodejs) в сервис crm-api, заполняющего заранее заготовленные шаблоны путевых листов значениями и изображениями (печати, qr-коды) для выдачи в виде ссылки на pdf-документ.
8. Создание и актуализация документации к API на базе коллекций Postman.
9. Обсуждение с техническими специалистами текущих и будущих задач.
10. Написание bash скриптов для развертывания приложения в контейнерах для режима разработки и режима промышленной эксплуатации.
11. Развертывание и актуализация тестовой песочницы для отдела фронтенда и отдела тестирования.
12. Участие в проведении технических интервью.
Тип работы: удаленно
Стек:
1. Java Spring Boot 2.7, Java 11, ORM Hibernate, Spring Security, JWT OAuth, Tomcat, Spring Repository, REST API, Postgres, Redis, Cache, Lombock, Mails.2. Laravel 10, PHP 8.1 (php-fpm + nginx), ORM Eloquent (Postgres 15), Migrations, Middleware, Events, REST API, Firebase JWT, Seeds, Cache.
3. Python 3, openpxl, unoconv (для работы с офисными документами).
4. Bash скрипты linux, Docker, Docker Compose, Docker Swarm.
5. IDE Intellij Idea, Git, GitFlow, GitHub.
Сайт знакомств Strelka https://strelkachat.ru/
Тип сотрудничества: договор возмездного оказания услуг, срочный.
Вид деятельности: онлайн знакомства. Разработан с нуля!
Задачи:
1. Продумывание архитектуры сервиса знакомств. Проектирование схем баз данных.
2. Создание фронтенд части посадочной страницы для презентации сервиса.
3. Создание фронтенд части чат-сервиса.
4. Создание единого сервиса авторизации и аутентификации.
5. Разработка сервиса управления профилем и перепиской.
6. Разработка сервиса "Живой чат".
7. Разработка сервиса уведомлений.
8. Разработка фронтенд части и бэкенд части платежного сервиса.
9. Проведение мероприятий тестирования сервисов инструментом JMeter. Написание модульных и интеграционных тестов.
10. Написание конфигураций окружения для разработки и публикации в docker контейнерах для баз данных, очередей, обратного прокси и хранилищ пар ключ-значение.
11. Написание сценариев bash Linux для автоматического развертывания приложения в кластере под управлением docker swarm.
12. Внедрение сервисов мониторинга работы приложений на этапе эксплуатации.
Тип работы: удаленно
Стек:
1. Фронтенд посадочной страницы: Next js, Redux, Redux Toolkit, Bootstrap 5, SCSS, адаптивная верстка.
2. Фронтенд чат-сервис: React js, Redux, Redux Toolkit, React Material UI, Bootstrap 5, SCSS, адаптивная верстка.
2. Backend (cервисы посадочной страницы и чата: Java Spring Boot, Hibernate + Postgres + Transactions, Spring Data, Spring MongoTemplate, Spring RedisTemplate, Spring Websocket + STOMP, Spring REST API, Spring Webflux, Reactor core, Cache Caffein + Redis, JWT, обмен сообщениями между внутренними сервисами по RabbitMQ, Spring Email.
3. Backend (платежный модуль): Laravel 9 + PHP 7.4, JWT Auth (от Java сервиса), Horizon (проверка статусов платежей), Migrations, Eloquent ORM, Vue 2.6, Vue-Router, Vue-rx, Vue-axios, Bootstrap 5, интеграция Qiwi-касса api и ЮКасса api (выставление счетов в личном кабинете, отложенная проверка статусов, контроль срока действия оплаченных и неоплаченных счетов) с приемом банковских карт и кошельков, Laravel Events, Email уведомления об оплате.
4. Сервисные службы: Postgresql, MongoDB, RabbitMq, Horizon, Redis, nginx proxy + SSL, Mail Server Postfix, Docker, Docker Swarm.
5. Среда разработки: Linux Ubuntu 20.04, WebStorm, система контроля версии Git/GitHub/GitFlic.
Магазин: https://mateflowers.ru/
Тип сотрудничества: договор возмездного оказания услуг, срочный.
Вид деятельности: розничная продажа букетов и подарков онлайн.
Задачи:
1. Обсуждение с ПМ архитектуры обновленной версии интернет-магазина подарков.
2. Консультации по передаче кодовой базы от прошлых исполнителей.
3. Перенос действующего проекта интернет-магазина и его панели управления (оба проекта на базе React), а также бэкенда (laravel 6) из файлового сервера на VDS-сервера (Linux Ubuntu 20.04). Перенос проекта в docker контейнеры.
4. Первичный рефакторинг проекта для внедрения программы лояльности Maxma на сайт-магазин MateFlowers - переработка механизма покупок и механизма синхронизации с RetailCRM.
5. Реконфигурация сервисной части мобильных приложений (Android/iOS) под новые сервера и прокси сервер. Тестирование, отладка.
6. Обсуждение нового ТЗ для внедрения программы лояльности Maxma в интернет-магазин и взаимодействие его с RetailCRM.
7. Внедрение программы лояльности на Maxma по ТЗ на фронт и бэкенд (вычисление бонусов и их списание). Этап 1.
8. Внедрение программы лояльности Maxma по ТЗ на фронт и бэкенд (загрузка и использование промокодов и скидок). Этап 2.
Тип работы: удаленно
Стек:
1. Сайт-магазин, панель управления и мобильные приложения. Фронтенд: React/React Native, Redux, Axios, React-router, React-Query, Helmet, SCSS, адаптивная верстка.
2. Бэкенд - PHP 7.4, Laravel 6, ORM Eloquent, MySQL, Redis, nginx, Horizon, Migrations, Middleware, Transactions, REST API, Docker, Docker Compose.
3. Среда разработки: Linux Ubuntu 20.04, WebStorm.
4. Система контроля версий Git, GitHub, методология Gitflow.
Сайт: https://hyperauto.ru/
Тип сотрудничества: договор возмездного оказания услуг, срочный.
Вид деятельности: розничная продажа автозапчастей онлайн и оффлайн.
Задачи:
1. Исправление ошибок и ошибок по заданию на фронте и бэкенде интернет-магазина и панели управления.
2. Написание парсеров данных веб-сайтов (на базе gecko webdriver и phpQuery) и api автозапчастей фирмы KYB для автоматизированного сбора актуальной информации о запчастях для интернет-магазина и службы маркетинга (php/Java).
3. Рефакторинг и перенос полнотекстового поиска с сайта в сервис магазина (движок Sphinx, из Zend/Propel ORM в Symfony/Doctrine ORM). Оптимизация релевантности поиска товаров по сегментов товаров, артикулу и oem-коду.
4. Доработка админ-панели сайта Гиперавто на базе библиотеки Creonit (классы, описывающие элементы управления) и Twig.
5. Написание интеграции для взаимодействия магазина Гиперавто с Яндекс Маркетом.
6. Доработка и оптимизация механизмов работы адресной и почтовой доставки и корзины магазина Гиперавто.
7. Обсуждение с командой текущих и будущих задач по улучшению сервисов и приложений.
Договор с самозанятым. Проектная работа.
Тип работы: удаленно
Стек:
1. Микросервисная архитектура на базе Docker/Docker Compose.
2. Фронтенд: Nuxt.js, Vue.js, CSS, SCSS, Creonit library, TWIG, Creonit library.
3. Бэкенд: PHP 7.2, Composer, Java 11, Maven, Symfony 4, Zend 3/Laminas, Sphinx, ORM Doctrine, ORM Propel, Transactions, Fast API, Migrations, Gecko Webdriver.
4. Linux, WebStorm, Git, GitLab, GitFlow.
Тип сотрудничества: NDA, фриланс.
Задачи:
1. Доработка и создание бэкендов для мобильных приложений и приложений микросервисов, монолитов с нуля.
2. Проектирование архитектуры и БД будущих приложений. Исправление и написание миграций (если есть такая опция).
3. Написание платежных шлюзов и их внедрение с интеграциями касс QIWI, Яндекс.
4. Проведение рефакторинга кодовой базы и оптимизация логики работы приложений.
5. Доработка бэкенд части интернет-магазинов: скорость загрузки контента, разделения сценариев выдача контента, устранение ошибок оплаты.
6. Перенос проектов в Git и сращивание кодовой базы с разными историями.
7. Доработка фронтенд части интерфейсов по ТЗ и фигма (Angular/JS/React/Balde/JSP).
Тип работы: удаленно
Стек:
1. Бэкенд: Java 8+: Java Spring Boot, Spring REST, Spring MVC, Reactor Java, Spring WebFlux, Transactions, RabbitMQ, Spring Data JPA (для SQL и NoSQL).
PHP 7.4, Laravel 6, ORM Eloquent, Middleware, Events, Jobs, Transations, REST API, Horizon,
2. Фронтенд: адаптивная вёрстка, SCSS, CSS, .React, Bootstrap, Angular 6+, Typescript, Redux, Redux toolkit.
3. Среда разработки: Linux Ubuntu 20.04, WebStorm.
4. Система контроля версий Git, GitHub, методология Gitflow.
Тип сотрудничества: Трудовой договор. Остановил работы из-за пандемии.
ООО «Ягода» - ИТ стартап, занимающийся развитием своей одноименной RM-платформы, которая содержит в себе встроенную аналитику для анализа движения товаров и клиентов торговых компаний для увеличения повторных продаж (является перспективным конкурентом для UDS Game). Основными заказчиками такой системы являются торговые компании, предприятия общепита, желающие увеличить приток новых покупателей, а также сохранить лояльность прежних, за счет проведения торговых акций среди покупателей.
Продукт «Ягода» представляет собой веб-приложение с частным доступом. Фронт приложения выполнен на языке TypeScript/JS (Angular 6+), совместно с библиотеками Bootstrap и Primeng (https://www.primefaces.org/primeng/). Бизнес логика приложения и ее СУБД хранения базируется на InterSystems Cache (язык бэкенда - Cache ObjectScript/Java) https://www.intersystems.com/ru/products/cache/. Основными обязанностями на моей должности были:
Задачи:
- Доработка имеющегося функционала приложения «Ягода» и написание нового. Со стороны бэкенда на 60%, со стороны фронта – на 40%.
- Оптимизация бизнес-логики бэкенда для ускорения работы приложения.
- Доработка, отладка и совершенствование системы списания и начисления бонусов.
- Создание механизма автоматизированной рассылки сообщений о начисленных или списанных бонусов через различные каналы мобильного уведомления пользователей программы.
- Увеличение инструментариев аналитики: ранги покупателей, ABC-анализ по покупателем, ROI, RFM-аналитика. Исправление неработающих графиков и гистограмм.
- Создание чата для обратной связи покупателей с представителями торговой компании.
- Создание и доработка API конечных точек для запроса данных со стороны касс.
- Создание REST API для мобильного приложения «Ягода» (личный кабинет).
- Участие в планерках и совещаниях для внесения предложений по улучшению приложения «Ягода».
- Помощь младшим специалистам в свободное от разработки время. Все задачи размещались на специально интерактивной доске Trello (https://trello.com/) и делились на спринты.
Тип работы: офис
Стек:
1. Бэкенд: Cache (язык) InterSystems, InterSystems СУБД, InterSystems ORM, InterSystems Scheduler, InterSystems Bus, Java 8+/maven (для сценариев).
2. Фронтенд: Angular 6+, Typescript, Redux,адаптивная вёрстка, SCSS, CSS. (PrimeNg библиотека).
3. Среда разработки: Windows 7, Visual Code.
4. Система контроля версий Git, GitLab, методология Gitflow.
Тип сотрудничества: трудовой договор.
Сайт: https://vniiftridf.ru/
Вид деятельности: метрология, точные измерения.
Задачи:
1. Разработка с нуля и поддержка прикладного программного обеспечения верхнего уровня типа SCADA для расходометрических установок объемно-массового расхода жидкости (программный комплекс для Рабочего эталона 1-го разряда – ГРЭТ1). Также поддержка подобных систем в "Хабаровский Горводоканал", ЕАО "Облэнергоремонт", "Хабаровские Теплосети". Проведение пусконаладочных работ и ввод в эксплуатацию в составе комиссии из ВНИИР, г. Казань. Данные системы осуществляли деятельность в области обеспечения единства измерений и проводили испытания, регулировку и поверку приборов для учета потребляемой
жидкости и нефтепродуктов.
Все программное обеспечение представляло собой комплекс нативных программ, взаимодействующих с железом различного типа, производителей и протоколами передачи данных: HART, MODBUS RTU, MODBUS TCP и другими различными нестандартными строковыми протоколами. Компаненты для работы с протоколами писались отдельно для Java и Delphi и группировались в специальные библиотеки. Сама система представляла промышленный ПК, на котором располагалось основное ПО, которое управляло и собирало данные со всех приборов и исполнительных механизмов. Результаты измерений стекались в
СУБД MS SQL Server и были доступны для формирования отчетов и получения истории измерений.
2. Являлся сетрифицированным госповерителем и участвовал в ежегодных контрольных измерениях прогона нефти через эталонную трубопоршневую установку на нефтеперегонной станции ННК, п. Смирновка.
3. Создание и проектирование структур СУБД для использования в прикладном программном обеспечении. СУБД: T-SQL (SQL Server 2008/2012), MySQL.
4. Создание и поддержка REST API сервиса для получения результатов измерения. Создание и поддержка фронтенда (CRM). Стек технологий:
- Java Spring Boot MVC + Spring Data + Hibernate + RabbitMQ (очередь сообщений для формирования уведомлений об изменении состояния измерительных систем).
- В качестве быстрого развертывания использовался Docker/Docker-compose.
Фронт CRM: Boostrap, Angular 6+, JavaScript. Ajax, CSS, HTML..
5. Настройка и программирование ПЛК (CodeSysV3), различных приборов и датчиков фирм OWEN, Siemens, Moxa, КонтрАвт, ISP-DAS и VFD Electronics. Работа, настройка и написание программ верхнего уровня для весовых устройств фирмы Metler Toledo и HBM (платформенного и бункерного типов). Написание прошивок для AVR (Atmel) контроллеров через Atmel Studio на языке C. Чтение электрических цифровых и релейно-контактных схем для интеграции программно управляемой автоматики в различные системы.
6. Проектирование, монтаж и отладка коммуникационных сетей TCP/IP, RS485, RS232, RS422.
7. Создание и поддержка сайта и портала предприятия - движок CMS Joomla 2.5/3.5. Первичная SEO-оптимизация (сайта), общие работы по контролю за работой над сайтом.
Laravel 5.1 + MySql + Apache (инфопортал о результатах измерений эталона ГРЭТ-1).
8. Совмещал должность системного администратора.
- Проектирование (MS Visio), монтаж и модернизация оборудования сети предприятия. Общий контроль за сетью и сетевой безопасностью.
- Администрирование и работа с почтовыми серверами типа MDeamon, Kerio Mail Server и hMailServer.
- Администрирование серверов Windows Server 2008 R2/2012 R2 и Linux Debian 7/8 (PuTTY/SSH).
- Работа с Ubuntu 16.04 (PuTTY/SSH).
- Обслуживание и управление СУБД MS SQL Server 2008/2012. Написание запросов (TSQL) и
общий контроль за СУБД приложений предприятия.
- Настройка и монтаж сетевого оборудования (маршутизаторы и управляемые коммутаторы) фирм TP-Link, D-Link, Tenda, NetGear, Cisco (LinkSys серия), 3COM. Расшивание витых пар на патч-панелях.
- Настройка программных файрволов Kerio Control, RusRoute и стандартных брандмауэров Windows и IP-таблиц Linux рабочих станций.
- Настройка Веб-сервера Apache + MySql + PHP.
- Общее обслуживание рабочих станций предприятия от первичного ремонта и установки программ, до замены и настройки ОС.
- Развертывание виртуальных машин на продуктах VirtualBox и VMWare (Windows, Linux, Mac OS). - Работа с оболочкой bash Linux. - Настройка сетевой печати и сканирования (Xerox,
Kyocera, Samsung, Richo, Epson).
Достижение.
Разработка с нуля программного комплекса для Государственного Рабочего Эталона Объемно-массового расхода воды 1-го разряда (ГРЭТ-1). Разработка сопутствующих вспомогательных программных инструментов для адаптации проходящих испытания приборов на эталоне.
Тип работы: лаборатории
Стек:
1. Бэкенд: Java 7/8, Maven, Java Spring 3, JSP шаблонизатор, ORM Hibernate, Spring MVC, Spring Data, Entity Manager, JMS, Tomcat, RabbitMQ, Kafka, Multithreading, Transactions, Liquibase migrations.
2. Фронтенд: Javascript, CSS, HTML, JQuery, Joomla 2.5/3.8, PHP 5.6.
3. Прикладные и встраиваемые программы: Delphi VCL 2009, Delphi FMX, ADO, Datasnap, Transactions, Components, Forms, Frames, CodeSys 2/3. C/C++, SQL.
БД: MS SQL, MySQL, MS Access.
4. Среды разработки: ОС: Windows/Linux, IDE Eclipse, RAD Studio, Git, GitFlow, GitLab.
Интерфейсы: RS232, RS485, RS422, 4..20мА, Ethernet.
5. Бренды приборов (датчики, расходомеры, модули ввода-вывода, частотные привода, весовые устройства, частотомеры, счетчики): Owen, Wago, КонтАвт, VFD Electronics, Emerson, Rosemount, Yokogawa, Mettler Toledo, Взлет, КМ/РМ-5, Вихрь, HBM.
Тип сотрудничества: трудовой договор. Ушел после защиты диплома.
Тип работы: офис
Подрабатывал студентом в период очного обучения на пол-ставки. Основными обязанностями были:
1. Проектирование и настройка систем видео-наблюдения на базе IP-камер фирмы D-Link иTP-Link.
2. Прокладка и настройка локальной вычислительной сети и сетевого оборудования.
3. Проектирование сборных металлических конструкций в программе AutoCAD 2008.
4. Тестирование электронных схем в программе Electronics Worckbench для нужд заказчиков.