Цели и задачи
Цели:
- Создание удобного и интуитивно понятного мобильного клиента для пользователей операционной системы Android.
- Предоставление доступа к информации о Храме Александра Невского через мобильное приложение.
Задачи:
- Разработать дизайн и интерфейс мобильного клиента, опираясь на веб-сайт Храма Александра Невского.
- Интегрировать функционал для просмотра информации о новостях, расписании служб, контактной информации и других разделов, представленных на сайте храма.
- Оптимизировать производительность приложения для плавной работы на устройствах под управлением операционной системы Android.
Актуальность проекта
Создание мобильного приложения для указанного храма подчеркивает важность использования современных информационных технологий для распространения традиционных духовных ценностей и облегчения доступа к информации для прихожан. К тому же выбор операционной системы Android для реализации данного проекта обусловлен ее широким распространением среди пользователей мобильных устройств, что позволит максимально повысить популяризацию православных ценностей среди верующих и неверующих.
Теоретическое значение данного проекта состоит в изучении современных методов разработки мобильных приложений для Android и основных принципов интеграции приложений с веб-сайтами.
Практическая значимость проекта:
- Улучшение доступности информации: Мобильный клиент позволит увеличить доступность информации о храме для широкой аудитории пользователей мобильных устройств, что способствует привлечению новых посетителей и повышению осведомленности об объекте.
- Удобство пользования: Приложение обеспечивает удобный и простой способ получения актуальной информации о храме, его истории, событиях и расписании богослужений, что способствует повышению интереса и участия пользователей.
- Технологический прогресс: Разработка мобильного приложения демонстрирует использование современных технологий для улучшения взаимодействия организации с пользователем, что актуально в современном мире цифровизации.
Результат
При выборе разделов "Духовные беседы" или "Информация" пользователю будет предложено перейти на сайт. Это связано с тем, что в этих вкладках находятся объемные файлы и видео, которые значительно увеличили бы размер приложения.
При нажатии на соответствующую кнопку пользователь будет перенаправлен в нужное приложение. В случае с ВКонтакте и Телеграмом пользователю откроются приложения, если они установлены, или сайт, если приложения нет. Для остальных случаев открываются соответствующие приложения с уже заполненными данными.
Приложение разработано по принципам Clean Architecture, что обеспечивает четкое разделение слоев и ответственностей, делает код более читаемым и поддерживаемым. При разработке приложения также учитывался принцип KISS, то есть стремление к простоте и минимализму в процессе разработки, что позволило избежать излишней сложности, сохранить код чистым, сделать приложение легким для понимания.
Использованные технологии:
- kotlin;
- compose - для создания UI;
- room предоставляет удобный API для работы с базами данных SQLite. Он автоматически генерирует часть кода и обеспечивает проверку SQL запросов на этапе компиляции, что обеспечивает безопасность и удобство использования. Room используется в данном приложении для кэширования информации о храме;
- kotlinx-coroutines - это библиотека для асинхронного программирования в Kotlin. Она позволяет управлять параллельными задачами и обрабатывать асинхронные операции без блокировки потоков. Это полезно для обработки сетевых запросов и длительных операций в мобильном приложении.
- kotlinx-serialization - позволяет преобразовать данные из JSON в объекты Kotlin и обратно. В данном приложении она используется для работы с данными, получаемыми с сервера;
- ktor-client - это библиотека для создания HTTP-клиентов в Kotlin. Она позволяет выполнять сетевые запросы для получения данных с сервера. В данном случае ктор-клиент используется для получения информации о храме из сервера;
- koin - это фреймворк для DI;
- navigation-compose - это библиотека для навигации между экранами в приложении;
- coil - это библиотека для загрузки и отображения изображений в приложениях на Android. Она предоставляет простой и эффективный способ загрузки изображений из сети или локального хранилища и их отображения в пользовательском интерфейсе.