Необходимо реализовать приложение, которое через библиотеку Rest Assured (это пример, можно Retrofit или любую другую) взаимодействует с API сайта https://swapi.dev/ (документация: https://swapi.dev/documentation).
Приложение получает на вход некий запрос, (например, "Люк Скайуокер, дагоба, йода, татуин в том числе и на английском (т.е. необходимо реализовать некий словарик доступных запросов (не более 50, не менее 15)), после чего посредством api-запросов к вики ЗВ получает информацию (какую - на усмотрение студента).
Тип информации не особенно важен. Главная задача логики приложения: 1. отправить rest-запрос 2. получить ответ в виде json 3. записать ответ в DTO (класс java имеющий переменные с такими же названиями, как и наименование полей в json) посредством библиотеки Jackson (можно GSON или любой другой пригодной для парсинга JSON). 4. Используя методы get/set из необходимых DTO вывести на экран информацию по запросу.
Выдать пользователю какую-то информацию посредством полученных данных. Количество REST-запросов к вики ЗВ для получения данных никак не ограничено. Например, если пользователь приложения пишет в запросе "йода", то приложение может выдать, как информацию по персонажу, биографию, в каких фильмах встречается, основные места появления в фильмах, взаимодействие с другими персонажами, предметы и т.д. Фантазия исполнителя никак не ограничивается. Главное условие написано выше. Также, если будет использоваться некий внутренний словарь для ограничения возможных вопросов к приложению, то необходимо дать пользователю доступ посмотреть его (вывести на экран, командой, кнопкой прочитав например из файла).
Критерии для кода:
1.1 Форматирование кода
1.2 Функциональные наименования переменных, методов и классов
1.3 Разделение кода на классы и методы
1.4 Использование принципов переиспользования кода
1.5 Краткие методы. 1 метод реализует 1 функциональность (метод не должен быть длинным).
2.1 Код работает так, как указанно в задании
2.2 Произведена сбока jar-файла и приложение корректно работает при запуске jar-файла из консоли
2.3 Нет аварийных завершений работы приложения при различных ситуациях
2.4 Наличие обработки исключений во всех критичных местах
4.1 Логирование осуществляется в консоль и в файл с использованием библиотеки log4j
4.2 Сборка проекта осуществляется с помощью сборщика Gradle
4.3 К основным методам приложения написаны unit-тесты с использованием библиотеки JUnit
4.4 Реализован минимальный графический интерфейс для приложения с помощью JavaFx
4.5 На каждый метод приложения написана документация и сгенерирована в html-формате с помощью JavaDoc
4.6 При необходимости использования циклов, фильтрации, поиска в коллекции в приложении используется функционал StreamAPI
Гарантия на работу | 1 год |
Средний балл | 4.96 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |