Аннотация
ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ 3
ВВЕДЕНИЕ 4
1. Анализ аналогов 6
2. Анализ требований 7
2.1. Функциональные и нефункциональные требования 7
2.2. Модель предметной области 8
2.3. Реализация классов предметной области 9
2.4. Диаграмма вариантов использования 10
2.5. Функция «Фильтрация» 12
2.6. Диаграмма деятельности - карта переходов по экранам 17
2.7 Диаграмма последовательности для авторизации через Google Account
19
3. Реализация 21
3.1 Архитектура приложения 22
3.2 API 23
3.3 База данных 27
3.4 Виджеты - Widgets 33
3.5 FirebaseAuth 43
3.6 Maps SDK for Android 51
3.7 Использование .env файлов и библиотеки flutter_dotenv 53
3.8 Приложение 56
3.9 Пример работы приложения 62
ЗАКЛЮЧЕНИЕ 69
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 70
В последние годы использование мобильных приложений может влиять на повседневную жизнь. Например, приложения для общения позволяют оставаться на связи с друзьями, семьей в любое время и в любом месте, способствуя более тесным связям и более быстрому обмену информацией. Мобильные игры обеспечивают развлечение, предлагая быстрый отдых и возможность расслабиться в свободное время. Приложения с рекомендациями для путешествий упрощают планирование поездки, предлагая варианты размещения, развлечений и питания, улучшая впечатления от путешествия с помощью удобных рекомендаций. Благодаря смартфонам и мобильному Интернету путешественники могут легко планировать и ориентироваться в своей поездке.
Город Томск имеет уникальное сочетание истории и культуры. Однако, несмотря на множество предложений, ориентироваться в этом городе может быть сложно для путешественников или тех, кто впервые приезжает в Томск. Разрабатываемое приложение станет помощью городу Томску и особенно путешественникам.
Прежде чем углубляться в специфику разработки Android-приложений, необходимо оценить реализуемость данного проекта. Задействовав мобильные технологии, рыночный спрос и доступные ресурсы, появится возможность разработать решение для путешественников или гостей Томска. По данным, проведнного исследования рынка мобильных приложений для города Томска, таких мобильных приложений не существует. Вместо этого используют путеводители по городу Томску или QR-код. B работе предлагается создать мобильное приложение для путешествий. Мы надеемся, что разрабатываемое приложение для Android сможет улучшить качество путешествий и будет удобным в использовании. Это приложение не только будет предоставлять информацию о местах для путешествия в Томске, но и обеспечивать расчет бюджета исходя из пожеланий пользователя. Кроме того, в разработке для пользователей будут реализованы удобные для взаимодействия функции.
При разработке Android-приложения для путешествий по Томску будут использованы исходные данные, собранные из Google API Places. Приложение будет предоставлять пользователям данные о том, какие места: музеи, парки, торговые центры, рестораны и т. д. путешественники могут посетить. Дизайн и функциональность приложения будут поддерживать эти данные, гарантируя, что приложение будет соответствовать потребностям и ожиданиям пользователя.
Таким образом, цель данной работы - разработать мобильное приложение для поиска и получения рекомендаций доступного съемного жилья и туристических достопримечательностей в Томске. Задачи данной работы:
1. Определить и сравнить существующие мобильные приложения для путешествий в Томске.
2. Выявить требования и составить модель вариантов использования.
3. Спроектировать архитектуру системы и базы данных.
4. Реализовать функциональные возможности.
5. Подключить API, предоставляющие данные о местах города Томска.
6. Спроектировать и реализовать пользовательский интерфейс.
В результате проделанной работы создано Android-приложение для путешествий по Томску.
При разработке приложения были выполнены поставленные задачи : спроектирована структура базы данных, построены диаграммы приложения, использован API и успешно показываются места, полученные из API, реализована основная функция фильтрации содержащая различные фильтры, а также экраны приложения реализуют функции, для удобного взаимодействия с пользователем. Так как задачи были выполнены, то цель работы достигнута.
В процессе разработки основной сложностью была реализация и соединение базы данных с API, особенно для сохранения данных результатов фильтрации. Новым опытом для меня было: создание приложения с нуля, чтобы оно было готово к использованию.
Хотя текущая разработка демонстрирует основные функциональные возможности системы, есть возможности для дальнейшей доработки. Тестирование удобства использования выявило проблемы с навигацией на некоторых страницах, что указывает на необходимость улучшения дизайна пользовательского интерфейса. Кроме того, некоторые данные, такие как цены на отели, остаются неизменными и требуют обновления вручную. В настоящее время эти данные хранятся в формате JSON, который обычно используется для хранения структурированных данных.
Чтобы устранить это ограничение, в будущем можно было бы усовершенствовать технологию сбора данных с веб-сайтов. Такой подход позволит автоматически обновлять данные, устраняя необходимость в ручном вмешательстве и обеспечивая постоянное обновление представленной информации. Это значительно улучшило бы работу пользователей, предоставив доступ к самой актуальной информации.