Аннотации:
В роботі розглядається проєктування та розробка web-сервісу для автоматичної генерації, розсилки на email та перевірки PDF-сертифікатів або інших PDF-документів, який може працювати незалежно або в інтеграції з іншими програмними продуктами. Задача генерації PDF-документу реалізується з допомогою бібліотеки iText, що дозволяє створювати файли різними способами. В цьому проєкті PDF-файли генеруються на основі HTML-шаблонів, що дозволяє просто створювати документи різної розмітки та різного оформлення. Для розсилки електронних листів використовується SMPT-сервер від GMail. Створення листів здійснюється з допомогою бібліотеки JavaMailSender. Для перевірки PDF-сертифікату на справжність є дві можливості. Можна перейти по посиланню, яке розміщене на сертифікаті. У випадку, якщо інформація про такий документ є в базі даних, буде виводитися назва заходу та ім’я учасника. Якщо інформації в базі даних немає, то буде виведена інформація про це. Інший спосіб – введення коду з документу в спеціальне поле на web-сторінці. Програмний продукт розроблений у вигляді web-сервісу, що реалізує підхід REST. Проєкт реалізований на мові програмування Java з використанням сімейства фреймворків Spring: Spring Boot, Spring Data JPA, Spring Web, Spring Security. Проєкт реалізує патерн проєктування Controller-Service-Repository і складається із відповідних рівнів. На рівні entity описані сутності з бази даних у вигляді об’єктів. Тобто для кожної із таблиць в базі даних створений клас, поля якого відповідають атрибутам таблиці. На рівні репозиторію описуються запити до бази даних з використанням інтерфейсу JpaRepository. Логіка роботи web-сервісу реалізована на рівні сер-вісів. Для виконання кожної із задач написаний окремий клас-сервіс або кілька класів, якщо задача велика і її доцільно розбити на підзадачі. REST-контролери відповідають за зовнішній інтерфейс. Для кожної із дій, які може здійснити користувач або інший застосунок, буде створена окрема адреса доступу (endpoint). Основні дії: створення заходу, отримання списку заходів, видалення заходів, додавання інформації про учасника заходу, отримання списку учасників, генерація сертифікатів, розсилка сертифікатів, автентифікація користувачів, перевірка наявності сертифіката по унікальному коду. Web-сервіс має простий інтерфейс користувача у вигляді web-сторінки, на якій можна перевірити сертифікат на справжність. Для роботи адміністраторів створений кабінет за допомогою бібліотеки Swagger.