Skip to content

mrGnost/FakeShop

Repository files navigation

Тестовое задание для стажировки в Avito

Для запуска приложения можно использовать 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 и у нас они могут быть не доступны
  • На картинках не было дизайна пикера сортировки, так что сделал базовый дизайн со своими вариантами

Демо

video-2024-09-12-23-40-15_mrAUuE4Y.mp4

About

Test assignment for Avito internship

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages