Mika Quest Mobile: Flutter native RPG habit & quest app for families
  • Dart 86.3%
  • Go 7%
  • Python 5.9%
  • Shell 0.6%
  • Dockerfile 0.2%
Find a file
Yegor c375e9fb76 feat(hermes): adapt antigravity overlay to Hermes 0.21.4 layout
- inject_antigravity: dual-layout support for 0.21+ (models_catalog_static
  CANONICAL_PROVIDERS/_PROVIDER_MODELS, _REGISTRY_ROWS tuple registry,
  auth._PROVIDER_ALIASES, _OAUTH_ADD_SPECS login specs, provider-profile
  client hook, _ladder_rungs yield credential rungs, providers._ALIAS_GROUPS)
- fallback patch: aliases now provided via hermes_cli.auth on 0.21+
- upgrade script: extended dry-run asserts (overlay api_mode, aliases,
  oauth spec, module imports) and post-upgrade verify checks
- verified: Hermes Agent v0.21.4 running, gateway ready, VERIFY_0214_OK
2026-09-23 20:41:25 +03:00
.cursor feat(scaffold): add cursor agent rules, clean architecture skeleton and main entry 2026-09-05 18:55:48 +00:00
android fix(android): eliminate duplicate tasks with singleTask launchMode and default taskAffinity 2026-09-14 05:34:59 +00:00
assets feat(audio): v0.3.4 - acoustic marimba & kalimba cozy sound design, quest streaks 🔥 & audio settings toggle 2026-09-18 11:55:23 +00:00
docs docs: add Toca panoramic room pan & edge-swipe navigation spec 2026-09-16 13:05:00 +00:00
Documents/homelab-sync-configs/minipc/stacks/hermes/antigravity-overlay feat(hermes): adapt antigravity overlay to Hermes 0.21.4 layout 2026-09-23 20:41:25 +03:00
lib chore: clean unused imports in seeder, quests_screen and settings_modal 2026-09-18 14:59:05 +00:00
scripts feat(audio): v0.3.4 - acoustic marimba & kalimba cozy sound design, quest streaks 🔥 & audio settings toggle 2026-09-18 11:55:23 +00:00
server feat(telemetry,rewards,quests): add error telemetry endpoint, CozyToast with report/copy and parent controls 2026-09-11 06:42:44 +00:00
test feat(notifications): v0.3.6 - local background push notifications & streak freeze snow mechanic 2026-09-18 12:39:57 +00:00
.gitignore chore: ignore .worktrees directory 2026-09-10 14:41:43 +00:00
AGENTS.md feat(init): bootstrap Mika Quest mobile with Flutter clean architecture & agent workflow 2026-09-05 18:53:11 +00:00
analysis_options.yaml fix(flutter): generate Drift g.dart, fix import paths, add .gitignore, and achieve 0 analyzer warnings 2026-09-09 10:42:21 +00:00
CHANGELOG.md fix(ux): v0.3.14 - dynamic dark theme tokens, real notifications switch, bind seeder to child profile & remove update banner 2026-09-18 14:54:48 +00:00
compose.yaml feat(server): scaffold Go backend with SQLite WAL storage, pairing endpoints, WS hub, and Docker build 2026-09-08 14:45:23 +00:00
CONTINUITY.md fix(ux): v0.3.14 - dynamic dark theme tokens, real notifications switch, bind seeder to child profile & remove update banner 2026-09-18 14:54:48 +00:00
CONTRIBUTING.md docs: restructure into BMAD layout (brief/prd/ux/architecture/epics/content/qa/ops/legal), rewrite all cross-links, INDEX v3.0 as BMAD navigator 2026-09-06 22:55:07 +03:00
pubspec.lock feat(updates): implement AppUpdateService and updateCheckerProvider with semver validation and network resiliency 2026-09-10 07:48:18 +00:00
pubspec.yaml fix(ux): v0.3.14 - dynamic dark theme tokens, real notifications switch, bind seeder to child profile & remove update banner 2026-09-18 14:54:48 +00:00
README.md docs: update CONTINUITY, CHANGELOG and README with build pipeline & apps.mikaby.ru hub 2026-09-09 18:02:46 +00:00

Mika Quest Mobile — Flutter RPG Habit & Quest Platform

Нативное кроссплатформенное приложение (iOS / Android) на Flutter & Dart, превращающее семейные дела, привычки и развитие в совместное приключение с маскотом Микой.

Статус проекта: v0.2.0 (Alpha). Реализованы доменные репозитории Drift SQLite, родительская биометрия/PIN с backoff, оффлайн-движок синхронизации SyncEngine на часах Лампорта, а также Go Relay бэкенд на порту 8347 с WAN-доступом https://api.mika-quest.mikaby.ru.


🌐 Сетевая инфраструктура и Relay Backend

  • Единый WAN API: https://api.mika-quest.mikaby.ru (SSL Let's Encrypt через VPS Nginx -> туннель на мини-ПК :8347).
  • Никакого LAN split-brain: все устройства (родители, детский планшет вне дома или в домашней сети) общаются через единый контракт.
  • Бэкенд на Go (server/): потокобезопасный IPRateLimiter (5 req/s, burst 10), комнатный WebSocket Relay Hub для броадкаста дельт, SQLite хранилище пейринга и событий.
  • E2E верификация: python3 test/e2e_wan_api_test.py — проверяет health, создание семьи, QR пейринг, push/pull синхронизации по HTTPS.

🎯 Ключевые принципы проекта

  1. Маскот Мика: Маленькая девочка-домовушка из старого заброшенного дома («Новые хозяева?! Ура-а-а!»). Общается строго от первого лица («Я», «мне», «мой»).
  2. Трёхвалютная гармония:
    • Спарки (Sparky ✨): Задания от родителей → реальные семейные радости (время на Steam Deck, поездки, подарки). В игре ничего не продаётся за Спарки!
    • Капли (Capl 💧): Автоматическая системная награда за привычки → ремонт заброшенного дома от Сонной Пыли, мебель, корм для питомца.
    • Люми (Lumi 🌕): Премиум-валюта только для родителей за PIN (эксклюзивные сеты, Family Pass).
  3. Семья дома с первой секунды: Аватары всех членов семьи сразу сидят в гостиной.
  4. Бескомпромиссная приватность: Никаких пользовательских фото на сервере. Фото-отчёты сохраняются только локально в песочнице устройства.
  5. Offline-First: Локальная база данных Drift (SQLite) с фоновой изоляцией запросов.

🏗 Архитектура кодовой базы

Проект следует паттерну Feature-First + Clean Architecture:

lib/
├── app/                  # Инициализация приложения, роутинг, глобальная тема
│   ├── app.dart
│   ├── router.dart
│   └── theme.dart
├── core/                 # Общие утилиты, дизайн-токены, тактильный отклик (haptics)
│   ├── constants/
│   ├── errors/
│   ├── haptics/
│   └── widgets/
├── data/                 # Локальная база данных Drift / SQLite
│   └── local/
│       ├── app_database.dart
│       └── tables/
└── features/             # Модули фичей (Feature-First)
    ├── quests/           # Квесты, стрики, подтверждения
    ├── meta_house/       # 2D-домик, кастомизация комнат, мебель
    ├── rewards/          # Родительская витрина наград
    └── parent_insights/  # Радар развития и педагогические подсказки

📱 Мобильная сборка и распространение (Distribution Hub)

Приложение компилируется на рабочей станции (192.168.0.146) и автоматически публикуется в приватный homelab-портал:

# Единая команда сборки и публикации
/opt/data/bin/build-and-publish-mika-quest
  • URL портала: https://apps.mikaby.ru/mika-quest/ (защищено Authelia SSO).
  • Манифест автообновления: https://apps.mikaby.ru/mika-quest/version.json (открыт для in-app проверок).
  • Архитектура: apps-hub (:3415) -> туннель ha-tunnel (:23415) -> Nginx VPS (SSL Let's Encrypt).

📚 Документация

Полный навигатор — docs/INDEX.md:

Документ Назначение
docs/brief/PRODUCT_STRATEGY_AND_ROADMAP.md Видение, GDD, экономика, персоны, метрики MVP, roadmap (SSOT продукта)
docs/brief/COMPETITIVE_ANALYSIS.md Конкурентный анализ и позиционирование
docs/architecture/ENGINEERING_SPEC_AND_BACKLOG.md Стек, схема БД Drift, Quest Engine, экономика, роутинг, NFR, бэклог (SSOT инженерии)
docs/ux/DESIGN_SYSTEM.md Дизайн-система: токены, типографика, компоненты, доступность
docs/ux/USER_FLOWS.md Пользовательские сценарии
docs/content/MIKA_VOICE_GUIDE.md Голос и реплики Мики (контент-дизайн)
docs/architecture/SECURITY_AND_PRIVACY.md Threat model и compliance
docs/ops/ANALYTICS.md Локальная событийная аналитика
docs/qa/TEST_PLAN.md Стратегия и план тестирования
docs/GLOSSARY.md Глоссарий терминов и языковой кодекс Мики
docs/ops/DEVELOPMENT_WORKFLOW.md Процесс разработки и релизов
docs/brief/RISK_REGISTER.md Реестр рисков
docs/content/CONTENT_PIPELINE.md Ассеты: структура и бюджеты
docs/prd/MVP_SCOPE.md Scope MVP (MoSCoW) и feature-флаги
docs/content/QUEST_TEMPLATES.md Стартовая библиотека квестов и наград
docs/prd/SEASONAL_META.md Сезоны, рейды, питомцы (Фазы 2–4)
docs/ops/CI_CD_PIPELINE.md Пайплайн и quality gates
docs/ops/LOCALIZATION.md Локализация ru → en
docs/ops/STORE_LISTINGS.md Метаданные сторов
docs/ux/UX_RESEARCH_PLAN.md UX-исследования с детьми
docs/architecture/CODE_STYLE.md Стиль кода и правила слоёв
docs/qa/RUNBOOK.md Ранбук разработчика
docs/legal/PRIVACY_POLICY_TEMPLATE.md Шаблон политики конфиденциальности
docs/architecture/BILLING_AND_SUBSCRIPTIONS.md Биллинг и подписки (Фаза 3)
docs/architecture/SYNC_ARCHITECTURE.md Синхронизация семьи (Фаза 3)
docs/ops/MODERATION_POLICY.md Модерация UGC (Фаза 4)
docs/epics/SPRINT_PLAN.md Спринт-план Alpha
docs/ops/TEAM_RACI.md Матрица ответственности (RACI)
docs/ux/BRAND_GUIDELINES.md Брендбук
docs/qa/UAT_CHECKLIST.md Приёмочные сценарии Alpha
docs/legal/FAQ_PARENTS.md FAQ для родителей
docs/prd/GAME_BALANCE.md Гейм-баланс: прогрессия, анти-инфляция, тьюнинг
docs/content/PEDAGOGY_FRAMEWORK.md Педагогический фреймворк: 5 сфер, красные линии
docs/content/MIKA_LINES_SEED.md Стартовые реплики Мики (контент v1)
docs/content/SOUND_DESIGN.md Звуковой дизайн: карта событий, голос, музыка
docs/architecture/DEV_ENVIRONMENT.md Окружение разработки и tooling
docs/legal/TERMS_OF_SERVICE_TEMPLATE.md Шаблон пользовательского соглашения
docs/ops/RELEASE_NOTES_TEMPLATE.md Шаблон release notes (RU/EN)
docs/prd/NOTIFICATIONS_POLICY.md Локальные уведомления: типы, лимиты, тон
docs/content/HOUSE_META_DESIGN.md Геймдизайн 2D-домика
docs/ux/ONBOARDING_SCRIPT.md Поскринный онбординг с копирайтом
docs/ux/ACCESSIBILITY.md Детская доступность
docs/content/ART_PRODUCTION_PLAN.md Арт-конвейер: пакеты, дедлайны, placeholder-first
docs/architecture/adr/ Architecture Decision Records (0001–0005)

🛠 Стандарты качества и CI/CD

В проекте настроены строгие правила линтинга и контроля качества:

  • Анализ кода: flutter analyze
  • Форматирование: dart format --output=none --set-exit-if-changed .
  • Тесты: flutter test --coverage
  • Архитектурный гайд для AI-агентов: см. AGENTS.md и .cursor/rules/