- Ключевая задача - разработать полностью функционирующее приложение для заказа еды, отправляющее запросы на сервер для получения списка категорий, списка блюд, полное описание блюд. Выполнить вёрстку экранов на основе макетов в Фигме.
- Пользователь видит список категорий блюд.
- Пользователь нажимает на понравившуюся категорию и переходит в список блюд в этой категории.
- Если пользователь нашел нужное блюда, то по нажатию на него он видит ее описание и цену.
- Пользователь добавляет блюдо в корзину.
- При желании пользователь может увеличить количество блюда в корзине.
- Пользователь оплачивает покупку.
- Если пользователь нашел нужное блюда, то нажимает на него и видит описание и цену.
- Если пользователю не понравилось описание, стоимость, размер порции, он закрывает карточку и ищет дальше.
- Пользователь видит в корзине количество блюд, которые он добавил
- Пользователь хочет уменьшить количество блюд в корзине.
- При нажатии на “-” у него уменьшается на одно
- Если блюда в корзине 0, то блюдо исчезает из корзины.
- Пользователь хочет уменьшить количество блюд в корзине.
- Пользователь при желании увеличивает количество блюда прямо из корзины, нажимая на “+”.
- загрузка категорий блюд с сервера
- выбрав категорию пользователь может посмотреть список блюд из этой категории
- загрузка списка блюд и описания с сервера
- При нажатии на блюдо появляется детальная информация о нём: более крупная фотография, цена, описание, вес и стоимость за порцию.
- Если пользователю понравилось блюдо, то он может добавить его в корзину либо добавить в избранное
- В корзине пользователю доступно изменение количества блюд либо удаление блюда из корзины
https://github.com/AnTomS/OrderingFood/assets/101929803/4ae02316-6b39-439a-a2af-6c108d35da25
presentation.mp4
- Kotlin for all code
- Clean Architecture
- Single Activity Application
- Navigation Component for Fragments
- MVVM for presentation layer
- Coroutines for async work
- Dagger 2 for DI
- Glide для загрузки изображений
- Material Components for styling UI components
- Retrofit для сетевых запросов
- Room для хранения данных в БД