Для запуска приложения можно использовать APK-файл в app/build/outputs/apk/release/*.apk
- Clean Architecture + Multimodule
- Jetpack Compose
- MVI
- Hilt
- Coroutines + Flow
- Retrofit
- Paging 3
- В задании были предоставлены скриншоты вместо фигмы, поэтому дизайн-систему делал на глаз как мог, вычленяя shared-элементы
- Скриншоты иногда расходились с ТЗ, например на экране товара представлена информация по характеристикам, а в ТЗ предлагается вывести описание. В таких случаях опирался в первую очередь на ТЗ
- Не совсем было понятно, для чего нужен токен, если для получения товаров и информации о конкретном товаре он не нужен. В итоге просто сохранил его в DataStore и использовал только для проверки, нужно ли пропустить экраны аутентификации
- Не особо понял, на основе чего ставится ширина у карточек категорий, поэтому оставил ее фиксированной. Тем не менее, использовал LazyHorizontalStaggeredGrid, позволяющий ставить произвольную ширину у отдельных элементов
- Сделал выбор в пользу Hilt, так как с Compose довольно сложно интегрировать Dagger - в рамках тестового задания я бы не успел
- Многие картинки у меня не прогружались - в основном для категорий одежды и компьютеров. Вероятно, это связано с тем, что я не использую VPN и у нас они могут быть не доступны
- На картинках не было дизайна пикера сортировки, так что сделал базовый дизайн со своими вариантами