# Приложение предоставления API и логики формирования и отправки QR-кодов Приложение предоставляет API для получения QR-кодов для дверей по идентификатору устройства, получение слотов для дверей по идентификатору партнера. Реализует логику формирования и отправки QR-кодов, интеграцию с платежным шлюзом методом обратного вызова и методом опроса REST метода шлюза. ## Запуск приложения Для приложения требуется БД и конфигурация подключения к БД. При запуске приложения будут выполнены миграции в src/main/resources/db/changelog Также для работы приложения нужен запущенный сервер авторизации Для запуска приложения нужно выполнить команду `gradle bootRun` ## Сборка приложения `gradle jar` ## Задания по расписанию - EmailOutboxSendJob - задание формирования и отправки QR-кода - CleanExpiredNotPayedRentJob - задание по расписанию для опроса платежного шлюза и удаления просроченных не оплаченных бронирований ## Http методы - POST /public/book - метод бронирования двери - POST /public/book/callback - метод для обратного вызова шлюза - GET /qr - метод получения QR-кодов для определенного устройства(информация об устройстве берется из токена) - POST /qr-used/{qrId} - метод пометки о том, что qr-код был использован(для сбора метрик)