Skip to content

Разработка мобильного клиента, работающего под управлением ОС Android для храма

License

Notifications You must be signed in to change notification settings

FredNekrasov/ANT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ANT

Цель: удобный доступ к информации о Храме Александра Невского через мобильное приложение.

Задачи:

  1. Разработать дизайн и интерфейс мобильного клиента, опираясь на веб-сайт Храма Александра Невского.
  2. Интегрировать функционал для просмотра информации о новостях, расписании служб, контактной информации и других разделов, представленных на сайте храма.
  3. Оптимизировать производительность приложения для плавной работы на устройствах под управлением операционной системы Android.
  4. Провести тестирование приложения на различных устройствах, чтобы гарантировать стабильную работу и отзывчивость.

Практическая значимость проекта:

  1. Улучшение доступности информации: Мобильный клиент позволит увеличить доступность информации о храме для широкой аудитории пользователей мобильных устройств, что способствует привлечению новых посетителей и повышению осведомленности об объекте.
  2. Удобство пользования: Приложение обеспечивает удобный и простой способ получения актуальной информации о храме, его истории, событиях и расписании богослужений, что способствует повышению интереса и участия пользователей.
  3. Технологический прогресс: Разработка мобильного приложения демонстрирует использование современных технологий для улучшения взаимодействия организации с пользователем, что актуально в современном мире цифровизации.

Функциональные требования:

  1. Просмотр информации о храме, его истории и деятельности.
  2. Просмотр расписания богослужений.
  3. Отображение последних новостей и событий, связанных с храмом.
  4. Синхронизация с действующим сайтом www.hramalnevskogo.ru для актуализации информации.

Нефункциональные требования:

  1. Приложение должно быть разработано под управлением операционной системы Android версии 8.0 и выше.
  2. Интерфейс приложения должен быть интуитивно понятным и удобным для использования.
  3. Приложение должно быть стабильным, быстрым и безопасным.
  4. Должна быть предусмотрена возможность работы в офлайн-режиме для доступа к ранее загруженным данным.
  5. Приложение должно поддерживать различные разрешения экранов смартфонов и планшетов.

Архитектура, диаграммы и использованные технологии

Web API

Диаграмма классов

image

Она состоит из классической трехслойной архитектуры:

  1. data access layer(DAL) в основном отвечает за взаимодействие с базами данных, обеспечивает удобный, безопасный доступ к данным для других слоев.
  2. business logic layer(BLL) управляет бизнес-правилами и логикой приложения. Он обеспечивает: валидацию входных данных перед их использованием/сохранением, обработку транзакций и логику принятия решений.
  3. presentation layer(PL) отвечает за взаимодействие с клиентами. Данный слой обрабатывает запросы от клиента, отправляет их в бизнес-логику, получает ответы и передает их клиенту.

Использованные технологии:

  • язык программирования - C#, .NET 8.
  • ASP.NET Core расширяет .NET инструментами и библиотеками, специально предназначенными для создания веб-приложений.
  • Microsoft.Extensions.DependencyInjection - DI framework для .NET.
  • EntityFrameworkCore - framework для взаимодействия с базой данных.
Android app

Упрощенная диаграмма классов

image

Использованные технологии:

  • язык программирования - kotlin v2.1.0.
  • jetpack compose (v1.7.6) - рекомендуемый Андроидом, современный набор инструментов для создания нативного интерфейса.
  • koin - мультиплатформенный, легковесный DI framework для kotlin.
  • sqlDelight - мультиплатформенная библиотека для взаимодействия с sqlite.
  • kotlinx-serialization-json - мультиплатформенная библиотека для преобразования kotlin классов в json и наоборот.
  • kotlinx-coroutines - библиотека для работы с корутинами.
  • ktor-client - мультиплатформенный асинхронный http клиент, который позволяет совершать запросы и обрабатывать ответы.
  • androidx-navigation-compose - для навигации между экранами внутри приложения.
  • coil - библиотека загрузки изображений.
parser

Диаграмма пакетов

image

Использованные технологии:

  • язык программирования - java, jdk 21.
  • Dagger - compile-time DI framework.
  • jsoup - библиотека для извлечения данных из html.
  • gson - библиотека для преобразования объектов java в их json представление и наоборот.
  • gradle - система автоматической сборки.

About

Разработка мобильного клиента, работающего под управлением ОС Android для храма

Topics

Resources

License

Stars

Watchers

Forks