Специалисты
Ключевые навыки
Programming Languages
- Golang- SQL
Framework/Libraries
- Pgx pool- ojg- Fiber- chi- fasthttp- jsonslice- Gin- GORM- kafka-go- cel-go- copier- MongoDB Go Driver- sqlx
Cloud services
- Minio- Google Maps- AWS- Yandex Maps
DBMS
- MSSQL- PostgreSQL- MongoDB- Redis- MySQL- ClickHouse
Development Tools
- Git / Github / Gitlab - Docker- Swagger
Application Type
- REST- WebSockets- HTTP- gRPC
Testing
- Unit testing- E2E testing
Other
- Apache Kafka- NATS- Nginx- RabbitMQ- Agile- Scrum- OOP- SOLID- DRY - KISS- Jira- Trello- Docker- Kubernetes- Linux- Unix- SSH
Образование
Математическое обеспечение и администрирование информационных систем
ФГБОУ ВО ЮРГПУ (НПИ) имени М. И. Платова, г. Новочеркасск
NDA #1
Описание проекта Данный проект представляет собой услуги аренды пауэрбанков в кафе, ресторанах, торговых центрах, аэропортах и множестве других общественных мест. Вы приходите в кафе выпить чашечку кофе и можете арендовать пауэрбанк на любой промежуток времени, при этом все обслуживание производится автономно без участия человека. Вы делаете оплату через мобильное приложение, также вы платите только за время использования. В том случае, если срок аренды в итоге вышел ниже изначально установленного вами времени, то деньги за неиспользованное время вернутся на ваш счет. Оборудование удобное, защищенное от вандалов. Были учтены все риски и продумана максимальная защита как партнеров, так и пользователей. Основной бэкенд был написан на Ruby, мы работали на микросервисе, через который проходили все платежные операции. На данном микросервисе использовался язык программирования Go, для взаимодействия основного бэкенда с платежным сервисом использовался брокер Nats. Что было сделано: - интеграция онлайн эквайринга с платежными системами; - привязка карты через двухстадийную оплату; - двухстадийная оплата с использованием токена карты (без ввода реквизитов карты клиентом); - одностадийная оплата с использованием токена карты, отмена удержанной суммы для двухстадийной оплаты; - списание удержанной суммы для двухстадийной оплаты; - возврат средств, списанных со счета клиента; - покрытие всей бизнес-логики unit-тестами; - рефакторинг; - code review; - тестирование функционала через тестовое API, предоставленное платежными сервисами. Далее для Европейского сегмента было решено использовать Ecommpay в качестве платежного сервиса. После того, как была реализовано большая часть платежных методов для Ecommpay, на стороне заказчика было принято решение отказаться от Ecommpay и заменить его на Stripe. Для Stripe интегрированы все необходимые платежные методы, всю информацию о платежных транзакциях мы писали в нашу базу данных. В качестве СУБД использовался PostgreSQL. ?
Go / PostgreSQL / ch / pgx / logrus / cel-go / ojg / sqlx / NATS / shopspring / decimal / mockery / gRpc / prometheus / Grafana / Docker / Docker-compose / OpenApi
Февраль 2023 – Июль 2024 месяца
NDA #2
Описание проекта Интерактивная образовательная интернет-платформа. Платформой пользуются более 10 миллионов учеников и сотрудничает более 40 000 тысяч школ. Чем занимался на проекте: Разработка логики обработки запросов, работа с базой данных (PostgreSQL) и реализация эффективных механизмов обработки запросов от клиентской части приложения. Рефакторинг кода для повышения его качества, читаемости и производительности с использованием передовых практик и шаблонов проектирования. Интеграция с социальными сетями для авторизации и аутентификации через платформы социальных сетей (Facebook, Google). Реализация микросервисной архитектуры для обеспечения масштабируемости и отказоустойчивости системы. Интеграция сложных данных через API, включая работу с образовательными информационными системами и их базами данных. Оптимизация производительности системы, оптимизация запросов к базе данных и кэширование данных. Разработка GraphQL API для эффективного запроса и доставки данных клиентской части приложения. Работа в роли старшего backend разработчика. Review кода и оптимизация запросов к БД. Менторство. Постановка и оценка задач.
Go / GraphQL / pgx / sqlx / jsonslice / copier / PostgreSQL / Docker / Docker-compose / context / OpenApi / cel-go
Август 2022 – Январь 2023 месяца
Бронирование номеров отелей во всех городах и префектурах Японии
Описание проекта Пользователь может забронировать отель от 1 недели до 4. Особенность букинга в Японии состоит в том, что гость может бронировать отели по сроку кратным неделе, а этот сайт позволяет обойти это правило и забронировать, например, на 10 дней. На данном сайте доступна онлайн оплата через японские банки. Была реализована карта страны с городами, где можно увидеть список доступных отелей с номерами, реализующих приведенную выше систему бронирования. На сайте есть фильтр, который позволяет выбрать наилучшие варианты размещения, учитывая запросы гостей. Чем занимался на проекте: Реализована система поиска и сортировки отелей по координатам. Добавлена авторизация с ролевой моделью (пользователь, менеджер, администратор). Реализована синхронизация информации между сайтом и отелями посредством channel – менеджеров. Внедрена интеграция с API агрегаторов отелей. Реализована система уведомлений и push уведомлений по сокетам и через email. Добавлена система отзывов для оценки качества предоставляемых услуг с возможностью review от лица менеджеров отелей. Если отель пользуется популярностью и оценки хорошие, то, благодаря внедрению системы рейтингов, отель попадает в таблицу рейтингов, где пользователь может увидеть на главной странице наиболее популярные отели.
Golang / Gin / MySQL / Docker / Docker-compose / Rest / prometheus / Grafana / OpenApi / pgx / sqlx / ojg / copier / jsonslice Интеграции: Google maps / Socket.io / Complex data through APIs
Апрель 2021 – Август 2022 месяца