RPG Привычки (Aurora OS)

Мобильное офлайн-приложение для развития привычек в формате RPG для ОС Аврора.

Тема и описание

Приложение сочетает трекер привычек с элементами RPG: опыт, уровни, золото, квесты, достижения и магазин тем. Данные хранятся локально (SQLite через QML/JS).

Возможности

  • привычки: ежедневные, гибкие и анти-привычки;
  • RPG-прогресс: опыт, уровни, золото;
  • достижения с наградами в золоте;
  • квесты с получением наград;
  • магазин тем (покупка за золото и применение);
  • статистика и серия выполнения (streak);
  • работа без подключения к интернету.

Структура репозитория

  • application — исходный код приложения (QML, C++, RPM, переводы, иконки);
  • docs — пояснительная записка в формате Word (.docx, по аналогии с учебным примером) и скрипт её пересборки docs/_generate_report_docx.py;
  • tests — модульные тесты логики RPG (Python).

Быстрый запуск (эмулятор + QML)

Подставьте свои пути к Aurora SDK и ключу SSH эмулятора.

  1. Запуск эмулятора:
"/path/to/AuroraOS/bin/sfdk" emulator start
  1. Синхронизация QML в домашний каталог пользователя на эмуляторе (плоская структура ~/RpgHabitsQml/):
REPO="/path/to/aurora-rpg-habits"
APP="$REPO/application"
KEY="/path/to/AuroraOS/vmshare/ssh/private_keys/sdk"

scp -P 2223 -i "$KEY" -o StrictHostKeyChecking=no -r \
  "$APP/qml/pages" defaultuser@127.0.0.1:~/RpgHabitsQml/

scp -P 2223 -i "$KEY" -o StrictHostKeyChecking=no -r \
  "$APP/qml/components" defaultuser@127.0.0.1:~/RpgHabitsQml/

scp -P 2223 -i "$KEY" -o StrictHostKeyChecking=no -r \
  "$APP/qml/js" defaultuser@127.0.0.1:~/RpgHabitsQml/

scp -P 2223 -i "$KEY" -o StrictHostKeyChecking=no \
  "$APP/qml/RpgHabits.qml" defaultuser@127.0.0.1:~/RpgHabitsQml/RpgHabits.qml
  1. Запуск qmlscene на устройстве:
"/path/to/AuroraOS/bin/sfdk" -c 'device=Aurora OS эмулятор 5.2.0.180' device exec -- \
  sh -lc 'pkill qmlscene || true; DISPLAY=:0 nohup qmlscene ~/RpgHabitsQml/RpgHabits.qml >/tmp/rpg_habits_qml.log 2>&1 &'
  1. Лог при необходимости:
"/path/to/AuroraOS/bin/sfdk" -c 'device=Aurora OS эмулятор 5.2.0.180' device exec -- \
  sh -lc 'sed -n "1,200p" /tmp/rpg_habits_qml.log'

Файлы .qm не хранятся в репозитории: при полной сборке приложения переводы собираются через lrelease из application/translations/*.ts.

Сборка RPM (опционально)

cd "/path/to/aurora-rpg-habits/application"
"/path/to/AuroraOS/bin/sfdk" -c target=AuroraOS-5.2.0.180-x86_64.default build

Тесты

cd "/path/to/aurora-rpg-habits"
python3 -m unittest tests/test_rpg_math.py

Лицензия

См. файл LICENSE.