FinCERT handler
Info
Проект WIP, поэтому описание с пустотами.
Project
Сохранить токен в stateful bean, передать оффсет в антифрод-шину, далее polling на предмет новых сообщений в этой асинхронной операции.
Забирает свежие входящие, собирает данные по 6 системам и отвечает в ЛК Финцерт (aka отправляет обратно в шину).
Часть систем с сайд-эффектами.
Сохраняет исходные жсоны и результат обработки через JpaRepository сгенерированными методами.
Active-active, но jobrunnr из коробки запускает одну джобу разных инстансов приложения.
В коде обернул все внешние порты в try-catch, чтобы эксепшены не летели в ядро.
Принял вводные в рабочей доске с C2-схемами со стрелками вправо.
Role
Repetitive practices
TBD
One-go achievements
- Написал сервис и покрыл jUnit’ом на 80%;
- Made a REST-collection for 8 integrations;
- Составил список вопросов аналитику и задал по одному;
Technicalities
- RPS: 1
- Hexagonal architecture, REST, AMQP, polling, JWT;
- Insomnia, curl;
- patterns: SSOT, adapter
Teamplay
- процессы: демо раз в месяц, monthly demo; 2 созвона в неделю;
- 1x Java разраб; 1x ручной QA; 2x аналатика; 2x DEVOPS; 1x продукт овнер (он же руководитель);
Stack
- Docker compose;
- SQL via Posgres 17, liquibase, hibernate;
- mockito, junit, Spring boot test, testcontainers.
| Classifier | Technology | Started | Ended |
|---|---|---|---|
| impl | Java 21 | 2025-10-15 | — |
| impl | Spring boot 3 | 2025-10-15 | — |
| impl | Spring IoC | 2025-10-15 | — |
| impl | Spring AOP | 2025-10-15 | — |
| impl | Spring REST | 2025-10-15 | — |
| db | Hibernate + JPA | 2025-10-15 | — |
| infra | linux | 2025-10-15 | — |
| impl | jobrunnr | 2025-10-15 | — |
| db | SQL | 2025-10-15 | — |
| infra | Grafana | 2025-10-15 | — |
| infra | gradle | 2025-10-15 | — |
| impl | resilience4j | 2025-10-15 | — |
| testing | Mockito | 2025-10-15 | — |
| testing | JUnit | 2025-10-15 | — |
| impl | Jackson | 2025-10-15 | — |
| db | Liquibase | 2025-10-15 | — |
| testing | Wiremock | 2025-10-15 | — |