Проектная структура с директориями и описательными файлами (README Controller.md
, README Service.md
и т.д.) уже подготовлена.
Все реализации нужно добавлять в соответствующие директории.
После завершения разработки временные README-файлы нужно удалить, чтобы они не попадали в итоговую сборку.
Разработать backend-приложение на Java (Spring Boot) для управления банковскими картами:
- Создание и управление картами
- Просмотр карт
- Переводы между своими картами
- Номер карты (зашифрован, отображается маской:
**** **** **** 1234
) - Владелец
- Срок действия
- Статус: Активна, Заблокирована, Истек срок
- Баланс
- Spring Security + JWT
- Роли:
ADMIN
иUSER
- Создаёт, блокирует, активирует, удаляет карты
- Управляет пользователями
- Видит все карты
Пользователь:
- Просматривает свои карты (поиск + пагинация)
- Запрашивает блокировку карты
- Делает переводы между своими картами
- Смотрит баланс
- CRUD для карт
- Переводы между своими картами
- Фильтрация и постраничная выдача
- Валидация и сообщения об ошибках
- Шифрование данных
- Ролевой доступ
- Маскирование номеров карт
- PostgreSQL или MySQL
- Миграции через Liquibase (
src/main/resources/db/migration
)
- Swagger UI / OpenAPI —
docs/openapi.yaml
README.md
с инструкцией запуска
- Docker Compose для dev-среды
- Liquibase миграции
- Юнит-тесты ключевой бизнес-логики
- Соответствие требованиям
- Чистота архитектуры и кода
- Безопасность
- Обработка ошибок
- Покрытие тестами
- ООП и уровни абстракции
Java 17+, Spring Boot, Spring Security, Spring Data JPA, PostgreSQL/MySQL, Liquibase, Docker, JWT, Swagger (OpenAPI)
Весь код и изменения принимаются только через git-репозиторий с открытым доступом к проекту. Отправка файлов в любом виде не принимается.