Краткое описание: простое приложение, которое позволяет сохранять в локальной памяти телефона рецепты коктейлей и блюд, получаемых с API, и структурировать их.
API:
Коктейли - https://www.thecocktaildb.com/api.php
Еда - https://www.themealdb.com/api.php
Приложение поддерживает кеширование и имеет возможность работать без интернета (для созданных экземпляров party).
Весь функционал по поиску и фильтрации поддерживает работу только с интернетом.
Приложение поддерживает навигацию назад. На всех экранах кроме главного отображается стрелка назад.
В момент загрузки данных отображается прогресс-индикатор.
Основной экран появляется после запуска приложения. Он содержит fab-кнопку “Add” для создания новой Party.
При нажатии на нее появляется DialogFragment с текстовым полем ввода для названия Party. Название Party должно быть уникально в рамках приложения.
Каждая Party может содержать:
- коктейли;
- блюда.
Все Party выводятся в списке на главном экране. После создания можно удалить Party с помощью кнопки “Delete” рядом с ней.
Для изменения содержания конкретной Party нужно нажать на эту Party в списке на главном экране. По нажатию открывается экран Party.


В title toolbar'a указано название party. В меню toolbar'a находятся 2 пункта: "Rename" и "Delete". С помощью них можно изменить название Party или удалить ее, при этом нас навигирует назад.
Экраны коктейлей и блюд выводятся с помощью ViewPager. На каждом из экранов находится recyclerView и fab-кнопка для добавления нового элемента в список.
При добавлении элемент кэшируется. Удалить элемент можно с помощью кнопки "Delete" рядом с ним в списке.
При нажатии на fab открывается экран поиска коктейля/блюда.
Экран отображает SearchView в виде пункта меню toolbar. При получении результатов поиска под SearchView появляются chips, с помощью которых можно отфильтровать результат поиска.
При нажатии на элемент списка мы переходим к экрану деталей коктейля/блюда.
В title toolbar'a указано название коктейля/блюда. Экран отображает информацию об элементе: название, рецепт, картинку, категорию. В зависимости от способа, благодаря которому открыт экран, контент будет немного отличаться:
- по нажатию на элемент в списке результатов поиска: на экране присутствует кнопка “Add” при нажатии на которую элемент добавляется в список элементов (коктейлей/блюд) соответствующей Party.
В случае, если элемент уже есть в списке соответствующей Party, вместо кнопки “Add” появляется кнопка “Delete”; - по нажатию на элемент в списке элементов определенной Party: на экране присутствует кнопка “Delete”, которая удаляет элемент из списка элементов соответствующей Party.



