Skip to content

Latest commit

 

History

496 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Спутник питомца 🐾

Главный помощник в уходе за домашними питомцами. Мобильное приложение, которое помогает владельцам не забывать давать лекарства, планировать визиты к ветеринару, вовремя делать прививки и обработки, следить за весом, питанием и настроением питомца — а ещё задавать вопросы ИИ-ассистенту по уходу.

Flutter-приложение (Android / iOS). Локально-ориентированное: основной функционал работает без интернета, облако и ИИ подключаются опционально.


Возможности

Питомцы и профили

  • Несколько профилей питомцев с быстрым переключением
  • Поддержка видов и пород, фото профиля (камера / галерея с обрезкой)
  • Персональная цветовая палитра под каждого питомца
  • День рождения с обратным отсчётом и расчётом «человеческого» возраста

Здоровье и трекинг

  • Оценка здоровья (норма / внимание / критично) на основе умного анализа:
    • тренд веса, аномалии аппетита, просроченные прививки и события
  • Вес — графики и история
  • Питание — время приёма, аппетит, вес порции
  • Настроение — с сортировкой по дате и времени суток
  • Заметки — по симптомам с готовыми тегами и голосовым вводом
  • Препараты — напоминания, несколько приёмов в день, иконка и цвет в iOS-стиле
  • Обработки — прививки, паразиты и т.п. с автосозданием следующего события
  • Документы — хранилище файлов по категориям (прививки, страховка…), загрузка с камеры или из файлов

События и календарь

  • Создание и управление событиями, категории
  • Повторяющиеся события с настраиваемым правилом (выбор дней недели) и датой окончания курса
  • События на весь день (время указывать необязательно)
  • Отметка выполнения по каждому повторению
  • Привязка одного события к нескольким питомцам, режим «все питомцы»
  • Подсветка и приоритизация просроченных событий

ИИ-ассистент

  • Чат с помощником по уходу (бэкенд на GigaChat)
  • Интерактивные треды: переключение между диалогами с сохранением контекста
  • Прикрепление сущностей (препарат, заметка, прививка, событие) к сообщению — уходят в запрос в JSON
  • Реальный индикатор доступности бота (/health), корректная обработка ошибок сервера

Облако и надёжность

  • Синхронизация с облаком через PocketBase (авторизация, восстановление данных из облака при онбординге)
  • Отправка ошибок и стектрейсов в PocketBase (переключатель в настройках)
  • Локальные уведомления-напоминания

Интерфейс

  • «Стеклянный» (glass) UI, плавающая навигация, скелетоны загрузки
  • Анимации и переходы, единый стиль выезжающих листов (draggable sheets)
  • Управление внешним видом через AppearanceController

Стек и архитектура

  • Flutter (Dart SDK ^3.9.2), Material + Cupertino, локализация (ru, en)
  • Состояние: provider (ChangeNotifier) + get_it (синглтоны сервисов)
  • Локальное хранилище: hive (чат), shared_preferences (настройки), файловая система (файлы / аватары)
  • Облако: pocketbase — пользователи, питомцы, события, error_reports и др.
  • Сеть: http поверх IOClient с доверенным корневым сертификатом (Russian Trusted Root CA, см. assets/certs/)
  • Графики: fl_chart; календарь: table_calendar
  • Прочее: image_picker / image_cropper, speech_to_text, flutter_local_notifications, flutter_svg, google_fonts, FontAwesome

Бэкенды

Назначение URL Эндпоинты
API / данные https://api.pet-sputnik.ru PocketBase-коллекции (users, pets, events, error_reports, …)
ИИ-ассистент https://ai.pet-sputnik.ru GET /health, POST /chat (GigaChat)

Структура каталога

pet-ai/
├─ README.md            ← этот файл
├─ changelog.md         ← история версий
├─ codemagic.yaml       ← CI (сборка iOS ipa)
└─ pet_ai/              ← Flutter-проект (package: pet_satellite)
   ├─ lib/
   │  ├─ main.dart                 точка входа, регистрация сервисов, MainPage + навигация
   │  ├─ models/                   доменные модели (pet_profile, event, pill, treatment, mood, …)
   │  ├─ services/                 бизнес-логика и интеграции (api, pb, ai, cloud_sync, crash_reporting, …)
   │  ├─ pages/
   │  │  ├─ main_pages/            home / health / ai_chat / events
   │  │  ├─ secondary_pages/       профили, настройки, внешний вид
   │  │  └─ registration_flows/    онбординг питомца и пользователя
   │  └─ theme/                    тема, цвета, переиспользуемые виджеты (glass, draggable sheets, …)
   ├─ assets/            сертификаты, иконки, шрифты
   ├─ android/ ios/ web/ windows/ linux/
   └─ pubspec.yaml

Запуск

Требования

  • Flutter (канал stable)
  • Android Studio / Xcode для целевых платформ

Шаги

cd pet_ai

# 1. Зависимости
flutter pub get

# 2. Кодогенерация Hive-адаптеров (ai_service.g.dart)
dart run build_runner build --delete-conflicting-outputs

# 3. Запуск на устройстве/эмуляторе
flutter run

Конфигурация

Локальная конфигурация не требуется — приложение запускается «из коробки». ИИ-ассистент общается с https://ai.pet-sputnik.ru по токену авторизации пользователя; ключ GigaChat хранится на стороне сервера, в приложении его держать не нужно.


Сборка

# Android
flutter build apk --release      # или: flutter build appbundle --release

# iOS
flutter build ipa --release

Иконки приложения генерируются через flutter_launcher_icons:

dart run flutter_launcher_icons

CI собирает iOS-сборку через Codemagic (workflow ios-workflow в codemagic.yaml).


Версия и история

Текущая версия — 0.3.x. Полная история изменений — в changelog.md.

About

Android app for pet owners powered by Flutter

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages