Что нужно сделать
- Сверстать скрин из файла
design_example.jpg
. Жестко соблюдать размеры и наличие всех элементов не нужно. Например стрелочками в левом сайдбаре можно пренебречь. В файлеdesign_example_with_marks.jpg
находится тот же макет, но с пометками для лучшей ориентации по заданию. - Добавить
splash screen
с логотипомlogo.png
по центру. Можно проявить фантазию. - Список Категорий (1) и список позиций (2) должен генерироваться исходя из тестовых данных из файла
data.json
(сущности "departments" и "articles" соответственно). Связь позиций с категориями происходит по полюid_departament
- При выборе категории из списка (1) должны выводится позиции только выбранной категории в списке (2)
- При нажатии на позицию , она должна добавляться в список заказа (3) в количестве 1 штуки на нажатие. Так как расчет цены в приложении это достаточно сложный процесс, цену для позиций можно либо генерировать случайно в момент добавления, либо просто каждая позиция будет стоить некое фиксированное значение, например
1
. - Все изменения списка позиций должны изменять Total (5) заказа.
- Для управления состоянием нужно использовать Redux. Вся динамика через глобальное состояние - списки категорий и позиций, текущая категория, список заказа - все должно хранится в State. Переключение категории через Action (Stateful Widget использовать не нужно).
- Все остальные элементы, которые по вашему мнению, должны нажиматься, сделайте кликабельными, но без callback.
- Иконки для кнопок находятся в папке
./icons/
.