Приложение для просмотра карт и сохранения выбранных мест(точек). Реализованы два экрана - первый с картой, второй - со списком сохраненных мест. По клику на сохранённую точку будет переход на карту с фокусировкой на выбранной точке. При сохранении новой точки она отмечается на карте. Есть возможность вручную корректировать ввод широты и долготы сохраняемой точки. Реализована возможность приближать и отдалять карту с помощью кнопок.
- Основное
Реализованы два экрана (карта и список сохраненных точек) в соответствии с дизайном в задании. Сохранение точки с диалоговым окном, при нажатии сохранить идет запись в базу данных Room и отрисовка новой точки на карте. Реализован переход на список сохраненных точек через меню TopAppBar. Использован паттерн MVVM, DI, Navigation Component и Корутины. - Дополнительно
Реализован зум для карты (с помощью кнопок).
LCE модель для экрана со списком точек(загрушки для ошибки, загрузки и пустого списка), клик на элемент списка (при клике будет переход на карту и фокусировка именно на этой точке, если просто нажать назад, то фокусировка будет на последней в списке, если список пуст, то фокус на дефолтном значении).
Добавлена возможнсть изменять значения широты и долготы в диалоговом окне(точка будет сохранена в базе с новыми значениями и отрисована тоже), добавлена валидация ввода.
Реализована функция удаления всех точек с предупреждением в виде диалогового окна(при удалении всех точек с карты удаляются все созданные отметки).
- Kotlin
- Yandex MapKit
- Clean Architecture
- Koin
- Room
- SOLID
- MVVM (ViewModel, LiveData)
- RecyclerView & DiffUtil
- ViewBinding
- Navigation Component
- Glide
- Coroutines
- SplashScreen