Обязанности и достижения:
Java-разработчик
Разработка e-commerce продукта на микросервисной архитектуре в финтех сегменте. Приложение для коммерческого банка.
Обязанности:
• Разработка нового функционала в микросервисах;
• Рефакторинг и оптимизация кода;
• Написание Unit-тестов;
• Исправление багов;
• Интеграции со сторонними API;
• Код-ревью
Стек:
- Java 17
- Spring Boot
- PostgreSQL (основная бд), Redis (кэширование)
- API: RESTful API с использованием Spring Web, OpenAPI/Swagger для документации
- Spring Security, Keycloak
- Docker
- Prometheus + Grafana для мониторинга
- Apache Kafka для обмена сообщениями между сервисами
- Feign Client (для взаимодействия с внешними API), JUnit и Mockito для написания тестов
1. Реализовал функционал поиска объектов с использованием Spring Data JPA, где поддерживается разноуровневая фильтрация по достаточно большому множеству критериев через динамические запросы JPA Specification.
2. Реализовал интеграцию с системой аутентификации Keycloak, настройку, клиента, ролей и маппинга прав доступа, обеспечивая централизованное управление аутентификацией и авторизацией.
3. Реализовал интеграцию с облачным хранилищем, включала настройку доступа с использованием API-ключей и эндпоинтов для безопасного взаимодействия с хранилищем. Реализовал загрузки и хранения мультимедийных данных применяя интеграции с облачным хранилищем с использованием Feign Client.
4. Произвел оптимизацию хранения данных в PostgreSQL через реорганизацию схемы БД с использованием нормализации и создания индексов на ключевые поля для ускорения запросов.