Разрабатываю сервисы на Java, опыт 2.5 года.
Использую стек технологий:
Java, Spring (Boot, Data, Security, Cloud Sleuth), WebFlux, JPA, H2, PostgreSQL, QueryDSL, Lombok, JUnit, Mockito, Jacoco, Maven, Quartz, Docker+Docker-Compose, Git, Liquibase+Preliquibase, Apache Kafka, OpenShift/K8s, Jenkins, OpenAPI, Insomnia/Postman, Confluence, Jira, Scrum, Agile, HTML, CSS, JS, JSON, JWT, XML.
Проект:
Сервис некий маркетплэйс для корпоративного сегмента внутри организаций. Обработка заказов, товаров, поставок, грузополучателей, компаний, подразделений, пользователей, внешних агрегатов в плане курьерского дела.
Стек:
Java, Spring (Boot, Data, Security, Cloud Sleuth), WebFlux, JPA, H2, PostgreSQL, Cassandra, Redis QueryDSL, Lombok, JUnit, Mockito, Jacoco, Maven, Quartz, Docker+Docker-Compose, Git, Liquibase+Preliquibase, Apache Kafka, OpenShift, Jenkins, OpenAPI, Insomnia/Postman, Confluence, Jira, Scrum, Agile, HTML, CSS, JS, JSON, JWT, XML.
Задачи:
Создание микросервисов и библиотек с нуля и до полного релиза
Проектирование таблиц и связей в базе данных
Оптимизация запросов к базе данных
Перевод сервисов с кастомных ORM на Hibernate
Написание Liquibase конструкций/скриптов для базы данных
Написание фильтров, перехватчиков
Оптимизация/рефакторинг логики внутри микросервисов
Кэширование запросов
Кэширование методов Redis
Проектирование/настройка связей между микросервисами
Интеграция сервисов с Kafka
Подключение, настройка с Kafka
Анализ схем и разработка взаимного общения с использованием Kafka
Переход некоторых рест общений на сторону Kafka
Сборка сервисов в джобах Jenkins
Деплой Docker образов в OpenShift
Деплой сервисов на стенды/прод
Тестирование функционала на стендах
Миграция контроллеров на OpenAPI
Создание дтошек в OpenAPI с нуля, подключение к проеку, использование
Создание задач для планировщика Quartz (некий шедулер)
Юнит/Интеграционное тестирование
Тестирование через UI на фронте
Нахождение, анализ и исправление багов в коде
Ревью кода коллег
Подготовка микросервисов к релизу
Подключение сторонних (партнерских) агрегатов
Работа с файлами (загрузка/выгрузка/отчеты)
Написание документации(Javadoc) + самодокументированного кода
2021-2023 ООО “ЭДМАРКЕТ”
Агентство B2B интернет-маркетинга
Разработка RESTful микро-сервисного приложения мониторинга наличия товаров в магазинах и их копирования.
В разработке приложения разрабатывались 3 микро-сервиса: 1) парсер товаров из магазинов по определенным категориям, 2) мониторинг цен товаров в магазинах, 3) переопределение категорий товаров.
Микро-сервис «парсер товаров». Собирал информацию товаров с некоторых магазинов и сохранял ее. Преобразовывает информацию товаров для маркетплэйса, после чего отправляет товары в маркетплэйс.
Микро-сервис «мониторинг цен товаров в магазинах». Каждый день в отведенное время просматривает цену и наличие в магазине сохраненных товаров. В случае изменения цены или же наличия товара в магазине, отсылает ту или иную информацию в маркетплэйс по API.
Микро-сервис «переопределение категорий товаров». В случае если товар стал недоступен в магазине, то данный микро-сервис проверяет все возможные категории для определения, куда переместили товар.
Серверная часть:
Java, Spring, Spring Boot, Spring Data JPA, ORM(Hibernate), Spring Security, Maven, PostgreSQL, Docker, Docker-Compose, JUnit, Mockito, HtmlUnit, система контроля версий Github.
Клиентская часть:
HTML, CSS, JS, XML, JSON/SOAP
"Netcracker"
Специальность Java Software Development
Разработка RESTful приложений с использованием микро-сервисной архитектуры.
В момент прохождения стажировки дорабатывались и разрабатывались сервисы с использованием такого стека:
Серверная часть:
Java, Spring, Spring Boot, Spring Data JPA, ORM(Hibernate), Spring Security, Maven, PostgreSQL, Graylog, ElasticSearch, Docker, Docker-Compose, JUnit, Mockito, система контроля версий Github, инструмент по управлению проектами jira.
Клиентская часть:
HTML, CSS, JS, XML, JSON/SOAP
В момент прохождения курса была разработка карточной игры.
В ней были разработаны несколько микро-сервисов: 1) случайные события, 2) менеджер подбора игроков и закрытых комнат, 3) менеджер игрока и колоды карт, 4) пользовательский интерфейс, 5) регистрация, авторизация.
Микро-сервис «случайные события». В момент игры игроков случайным образом подкидывал свои карты, которые по-разному влияли на игроков и их колоды карт.
Микро-сервис «менеджер подбора игроков и закрытых комнат». Подбирал игроков по одинаковым рангам для сражения в закрытой комнате.
Микро-сервис «менеджера игрока и колоды карты». Хранил и передавал данные игрока микро-сервису «менеджер подбора игроков и закрытых комнат».
Микро-сервис «пользовательский интерфейс». Содержит в себе все нужные картинки, разметку и стили и взаимодействует с другими микро-сервисами.
Микро-сервис «регистрация, авторизация». Служит для регистрации и авторизации пользователей.
Серверная часть разрабатывалась с использованием технологий:
Java, Spring, Spring Boot, Spring Data JPA, ORM(Hibernate), Spring Security, Maven, PostgreSQL, Graylog, ElasticSearch, Docker, Docker-Compose, JUnit, Mockito, система контроля версий Github, инструмент по управлению проектами jira, vps Heroku.
Клиентская часть:
HTML, CSS, JS, XML, JSON/SOAP.