Java Spring Boot backend-приложение для управления банковскими картами с использованием JWT-аутентификации, PostgreSQL и Docker. Поддерживает CRUD операции, авторизацию, фильтрацию, маскирование данных и миграции через Liquibase.
- Spring Security + JWT
- Роли:
ADMIN,USER
- Создавать, активировать, блокировать, удалять карты
- Управлять пользователями (блокировка, разблокировка, удаление)
- Просматривать все карты и всех пользователей
- Обновлять данные пользователя
- Просматривать свои карты (с пагинацией и фильтрацией)
- Запрашивать блокировку карты
- Делать переводы между своими картами
- Просматривать баланс карты
| Поле | Описание |
|---|---|
| Номер карты | Хранится зашифрованным, отображается как **** **** **** 1234 |
| Владелец | Пользователь, которому принадлежит карта |
| Срок действия | В формате YYYY-MM-DD |
| Статус | ACTIVE, BLOCKED, EXPIRED |
| Баланс | Тип: BigDecimal |
- Java 17+
- Spring Boot
- Spring Security + JWT
- Spring Data JPA
- PostgreSQL / MySQL
- Liquibase
- Docker / Docker Compose
- Swagger / OpenAPI 3.0
- Установлены Docker
- Установлен Docker Compose
# 1. Клонируйте проект
git clone https://github.com/your-user/bank-card-management.git
cd bank-card-management
# 2. Соберите JAR-файл
./mvnw clean package -DskipTests
# или
mvn clean package -DskipTests
# 3. Запуск Docker-контейнеров
docker-compose up --build
# 4. Swagger UI
http://localhost:8080/swagger-ui/index.html