AURORA CALDAV DEMO Мобильное приложение-календарь для работы с CalDAV-серверами
Платформа: ОС Аврора (Aurora SDK / Aurora IDE)

ОПИСАНИЕ ПРОЕКТА

Приложение Aurora CalDAV Demo представляет собой мобильный календарный клиент, разработанный для операционной системы Аврора. Основное назначение приложения — подключение к удалённому CalDAV-серверу, получение календарных событий, их отображение в мобильном интерфейсе и выполнение базовых операций управления календарными данными.

Приложение позволяет:

  • подключаться к удалённому CalDAV-серверу;
  • выполнять авторизацию пользователя;
  • получать календарные события;
  • отображать календарь в мобильном интерфейсе;
  • просматривать события выбранного дня;
  • создавать новые календарные события;
  • удалять существующие события;
  • обновлять данные при взаимодействии с сервером.

Приложение разработано как демонстрационный проект для изучения мобильной разработки под Aurora OS и взаимодействия с открытым календарным протоколом CalDAV.

ЛОГИКА РАБОТЫ ПРИЛОЖЕНИЯ

Основной принцип: Приложение построено по клиент-серверной архитектуре. Клиентская часть представляет собой мобильное приложение, работающее на Aurora OS.
Серверная часть представлена удалённым CalDAV-сервером, на котором хранятся календарные данные пользователя.

Принцип работы:

  1. Пользователь вводит параметры подключения:

    • URL CalDAV-сервера;
    • имя пользователя;
    • пароль;
    • имя календаря.
  2. Приложение выполняет сетевой запрос к серверу.

  3. Сервер возвращает календарные данные.

  4. Приложение обрабатывает полученный ответ.

  5. События отображаются в мобильном интерфейсе.

2.2 Архитектура приложения

Проект состоит из нескольких основных частей:

  1. Интерфейсный уровень (QML)

Отвечает за взаимодействие с пользователем и визуальное отображение данных.

Основные компоненты:

  • MainPage.qml — главная страница приложения;
  • ConnectionPanel.qml — панель подключения к серверу;
  • CalendarMonthView.qml — отображение календаря;
  • DayViewPanel.qml — просмотр событий выбранного дня;
  • EventListPanel.qml — список календарных событий;
  • AddEventPanel.qml — форма создания нового события;
  • YearViewPanel.qml — представление календаря по годам.
  1. Программная логика (C++)

Отвечает за обработку данных и взаимодействие с сервером.

Основные компоненты:

  • CalDavClient — работа с CalDAV-сервером;
  • CalendarEventModel — модель хранения событий;
  • CalendarEvent — объект календарного события.
  1. Сетевой уровень

Для взаимодействия с сервером используется:

  • HTTP
  • WebDAV
  • CalDAV
  • QNetworkAccessManager (Qt)

ЦИКЛ РАБОТЫ ПРИЛОЖЕНИЯ

ШАГ 1. Запуск приложения

Приложение запускается в среде Aurora OS через Aurora IDE. После запуска пользователь получает экран подключения к серверу.

ШАГ 2. Подключение к серверу

Пользователь вводит:

  • URL сервера;
  • логин;
  • пароль;
  • имя календаря.

После нажатия кнопки подключения приложение выполняет авторизацию.

ШАГ 3. Получение данных

Приложение отправляет запрос к CalDAV-серверу.

Сервер возвращает:

  • XML-ответ;
  • календарные данные в формате ICS.

ШАГ 4. Обработка данных

Приложение:

  • разбирает XML;
  • извлекает календарные записи;
  • преобразует события во внутреннюю модель данных.

ШАГ 5. Отображение календаря

После обработки данных пользователь получает:

  • календарное представление;
  • список событий выбранного дня;
  • элементы управления событиями.

ШАГ 6. Управление событиями

Пользователь может:

  • создать новое событие;
  • удалить существующее событие.

Изменения отправляются на сервер и отображаются в приложении.

ЗАПУСК ПРОЕКТА

Требования

Для запуска проекта требуется:

  • Aurora SDK
  • Aurora IDE
  • настроенный эмулятор Aurora OS или устройство
  • доступ к CalDAV-серверу

Запуск

  1. Открыть проект в Aurora IDE.
  2. Выбрать целевую платформу.
  3. Выполнить сборку проекта.
  4. Запустить приложение.

ОСНОВНЫЕ ФУНКЦИИ ПРИЛОЖЕНИЯ

  1. Подключение к серверу Поддерживается подключение к CalDAV-серверу с авторизацией пользователя.

  2. Просмотр календаря

Пользователь может:

  • просматривать календарь;
  • выбирать дату;
  • видеть события выбранного дня.
  1. Создание событий Пользователь может создать новую календарную запись.

Поддерживаются:

  • название события;
  • дата;
  • время начала;
  • время окончания.
  1. Удаление событий Пользователь может удалить ненужную календарную запись.

ОСОБЕННОСТИ РЕАЛИЗАЦИИ

  1. Мобильная разработка под Aurora OS Приложение разработано специально для платформы Aurora OS с использованием стандартных инструментов мобильной разработки.

  2. Разделение интерфейса и логики

Проект реализован по модульному принципу:

  • интерфейс отдельно;
  • программная логика отдельно;
  • сетевое взаимодействие отдельно.
  1. Работа с CalDAV

Реализованы:

  • подключение;
  • получение событий;
  • создание событий;
  • удаление событий.
  1. Обработка календарных данных

Используются:

  • XML;
  • iCalendar (ICS);
  • модели данных Qt.

ТЕХНОЛОГИИ

  • Aurora OS
  • Aurora IDE
  • QML
  • Sailfish Silica
  • C++
  • Qt Framework
  • QNetworkAccessManager
  • HTTP
  • WebDAV
  • CalDAV
  • XML
  • iCalendar (ICS)

ИСПОЛЬЗОВАНИЕ НЕЙРОСЕТЕЙ ПРИ РАЗРАБОТКЕ

При разработке проекта для помощи в проектировании архитектуры, генерации документации, анализе кода и отладке использовались нейросетевые инструменты:

  • ChatGPT

АВТОР

Лунгу Виктория