Publikuj oferty pracy
Zatrudniaj bez prowizji
Dwa lata doświadczenia handlowego. Teraz jestem środkowym Java Developerem w małej firmie od ponad roku. Pracuję nad bezpieczeństwem z użyciem tokenów w tym LDAP(OpenLDAP, Active Directory). W architekturze mikroserwisowej konfiguruję komunikację między usługami poprzez RabbitMQ, magazyn plików Minio, trochę Docker i Docker Compose. Pracuję jednocześnie nad 2 projektami - systemem zarządzania aukcjami oraz systemem wykrywania nadużyć dla dużego europejskiego banku. Tworząc funkcjonalność, jeśli jest to wymagane do zadania, przechodzę przez cały cykl: tworzenie bazy danych za pomocą Liquibase; tworzenie struktur podmiotowych; sprężynowy crud z pełnym opisem w swaggerze, również zabezpieczony sprężynowym zabezpieczeniem, które można rozszerzyć za pomocą specyfikacji JPA; pełna walidacja danych wejściowych, zarówno regex, jak i java dla danych wypełniających tabele, również walidacja obejmuje niepoprawne zapytania ze szczegółową obsługą wyjątków i tworzeniem tablicy błędów użytkownika, aby zapobiec 500 błędom i powiedzieć użytkownikowi, co należy poprawić w żądaniach.
Napisano kilka modułów, które pomogły klientowi śledzić zmiany w ważnych danych: Status Logger - wyświetla stan pobierania danych w procentach oraz listę błędów po pobraniu; Raport - generuje raport o zmianach w monitorowanych danych w formacie html w formie tabelarycznej (subskrypcja realizowana przez Rest API); Powiadomienie - wysyła raport wygenerowany przez moduł Raport przy użyciu protokołu SMTP na e-mail.
> Writing automated tests with Mockito
> REST API
> Implemented authentication
> Integrated JWT technology
> Introduced custom implementation of JWT validation with filters, providers, and result
handlers.
> Added a Liquibase migration based on SQL scripts to create a database structure
> Business logic was described in services with Rest access by roles
> Divided the project into microservices with rest communication between them
> Implemented authentication
> Integrated JWT technology
> Custom JWT validation with filters, providers, and handlers of result
> Configured LDAP(Active Directory)
> Customized/Universalized exception hendling
> Support for Liquidbase migrations using the XML standard with a description of rollbacks and
static filling of tables when they are created
> Covered the project with swagger with a detailed description of the work of endpoints and
each parameter, reflecting server security access to each controller, including roles to each
endpoint
> Introduced Minio file storage into the project
> Set up a flexible search with filtering, including nested objects using JPA Specification
> Configured friendly exception handling with exact list of request errors for response to
Frontend
> Database enriching with validation and deduplication
> Microservice for logging the status of the enrichin process
> XLSX file parsing
> Subscribing to object updates for further email notification of its changes
> Refactoring individual parts of services to a Stream API. Set up service communication using RabbitMQ