- Java 17, Maven, Spring 3, Docker-compose, JUnit 5, PostgreSQL, Liquibase, H2 DB.
- POST /api/v1/wallet — выполнить операцию (DEPOSIT или WITHDRAW) над кошельком.
- GET /api/v1/wallets/{walletId} — получить текущий баланс кошелька.
CRUD:
- POST /api/v1/wallets — создать новый кошелёк.
- GET /api/v1/wallets — получить список всех кошельков.
- PUT /api/v1/wallets/{walletId} — обновить баланс кошелька напрямую.
- DELETE /api/v1/wallets/{walletId} — удалить кошелёк.
- Локальный запуск или с помощью docker-compose
- Миграция базы данных - liquibase
- Поддержка многопоточности на уровне бд
- Корректная выдача http-кодов в ответе и обработка ошибок
- Покрытие тестами всех эндпоинтов
- Автономная бд H2 для тестов
- Настройка конфигурации приложения без пересборки докер контейнеров
- Поддержка профилей для сборки контейнеров.