Приложение для построения маршрута от текущей локации устройства до офиса компании "VICTORY group" в Екатеринбурге.
При разработке приложения учел пожелание сделать MVP как можно скорее.
В связи с этим, а так же с тем, что приложение небольшое, принял решение отказаться от построения чистой архитектуры, ограничившись слоем presentation.
Не стал реализовывать di ради inject'а одной viewModel'и.
Для навигации использовал FragmentManager, так как посчитал нецелесообразным добавлять Google Navigation Component ради одного перехода.
Обработка ошибок производится как на главном экране, так и на экране с картой. Передача сообщения на главный экран реализована с помощью FragmentResult api.
Информацию по работе MapKit api взял из документации, некоторые детали реализации подглядел в примере https://github.com/yandex/mapkit-android-demo/tree/master/mapkit-samples/map-routing
Использовал корутины, потому что они быстрее в реализации, чем rxJava, обновление состояния экрана реализовано через подписку на StateFlow, и мне комфортнее с ними работать.
Методы для запросов разрешений и проверки интернет соединения вынес во viewModel, чтобы не перегружать класс activity.
Чистое время на изучение api и пробу основных компонентов - примерно 2 часа.
Написание чернового рабочего варианта - примерно 2 - 2.5 часа
Перенос карты во фрагмент, перенос логики получения пути от MapKit в MapViewModel, добавление обработки ошибок, написание README - 4 часа