Разработать приложение для работы с MapKit от Yandex
Кругу путешественников, которые посещают различные места по всему миру, захотелось отмечать на картах точки, где они побывали и делиться этими метками друг с другом. Разработайте приложение с необходимым функционалом, чтобы путешественникам было легче общаться и оценивать изысканность посещенных мест.
Приложение делит функционал на доступный гостям и функционал доступный только зарегистрированным пользователям.
- Просмотр меток на картах/списком
- Создание метки на карте как гость (без указания авторства)
- Поиск меток по автору, словам в тексте
- Сортировка поиска по алфавиту авторов, лайкам
- Фильтрация меток только с/без картинки
- Регистрация
- Вход зарегистрированного пользователя без ввода логина и пароля
- Подписка на уведомления о публикации новой метки автором. Если у пользователя будет отсутствовать соединение, отправить после его появления.
- Весь функционал доступный гостю
- Поставить/Убрать лайк у метки
- Создание метки на карте с указанием авторства
- Удаление созданной метки
- Обеспечить работу всех функций приложения без подключения к интернету на основе полученных ранее данных
Реализация собственных идей, не описанных в задании, поощряется. Но помните о том, что качество в данном случае важнее количества.
Для данного задания был разработан дополнительный сервис, предназначеный для хранения меток. Воспользуйтесь им. Swagger - https://maps.rtuitlab.dev/docs
- Архитектура
Важно обратить внимание на архитектуру разработываемого мобильного приложения, т.е. на набор правил кодовой базы, которые обеспечат максимальную связность и минимальное зацепление частей приложения. Важно придерживаться какой-то одной архитектуры приложения, выбор которой стоит обосновать в README.md
репозитория с кодом.
- Дизайн
Используйте существующие гайдлайны дизайн-системы Android-приложений (Material Design). Если Вы решаете пользоваться другой дизайн-системой, она должна быть выверена и оптимизирована под использование на мобильном устройстве, а в README.md
репозитория должна содержаться ссылка на её документацию.
- Функциональность
Ожидается наличие функций, дополняющих представленные в требованиях к выполнению заданий.
- Внимание к деталям
Разработка качественного приложения - это забота и о пользователе, и о разработчике. Первому должно быть очевидно, как пользоваться приложением, а у второго не должно возникнуть вопросов, как поддерживать приложение.