Skip to content
This repository was archived by the owner on Jul 25, 2026. It is now read-only.

Repository files navigation

FloraMind

FloraMind - персональный AI-журнал ухода за домашними растениями. У каждого растения есть чат, история ухода, health score, proactive impulse и карта причинно-следственных решений.

Что уже работает

  • Vue-интерфейс подключен к реальному Worker API.
  • Локальная D1 база поднимается через Wrangler.
  • Gemini API вызывается из Worker через секрет GEMINI_API_KEY.
  • Добавление растения идет через модалку: фото/камера необязательны, комментарий отправляется в AI, имя и профиль можно подтвердить перед созданием.
  • Чат, история, отметка полива, profile summary, сжатая память, causal decisions и AI-сообщения работают в локальном full-stack режиме.
  • Есть отдельный экран напоминаний: планы можно отметить сделанными или отменить.
  • PWA manifest и service worker уже подключены. Push-отправка будет добавлена позже поверх reminder_plans.
  • Статика Vue отдается тем же Worker origin, что и /api/*.

Локальный запуск

  1. Установить зависимости:
npm install
  1. Подготовить локальные секреты для Wrangler:
copy .env .dev.vars

.dev.vars не коммитится. В нем должны быть:

GEMINI_API_KEY=...
GEMINI_MODEL=gemini-2.5-flash
  1. Запустить полный локальный контур:
npm run dev:full

Открыть приложение:

http://127.0.0.1:8787

Отдельные команды:

npm run build
npm run db:migrate:local
npm run dev:worker

npm run dev запускает только Vite-прототип без Worker/D1 API. Для настоящего MVP-флоу используй npm run dev:full.

Если в локальной истории видны старые ???, это тестовые записи, отправленные через проблемный PowerShell quoting до фикса UTF-8. Новые запросы из UI и Node smoke отправляются с application/json; charset=utf-8. Если локальные данные не жалко, можно удалить Wrangler state и снова применить миграции:

Remove-Item -Recurse -Force .wrangler
npm run db:migrate:local

Cloudflare production setup

Перед первым production deploy нужно:

  1. Создать D1:
npm run cf:create:db
  1. Вставить полученный database_id в wrangler.jsonc.

  2. Положить Gemini ключ в Cloudflare secret:

wrangler secret put GEMINI_API_KEY
  1. Применить remote migrations:
npm run db:migrate:remote
  1. Проверить deploy без публикации:
npm run deploy:dry-run
  1. Задеплоить:
npm run deploy

Repository map

  • src/ - Vue MVP interface.
  • worker/ - Cloudflare Worker API, Gemini adapter, scheduled impulse job.
  • migrations/ - D1 schema.
  • docs/ - продукт, системный дизайн, roadmap и ADR.
  • AGENTS.md - рабочие правила для AI-агентов.

Quality bar

Перед завершением кодовой задачи:

npm run build

При изменении D1-схемы добавляется новая миграция. При изменении Worker API обновляется docs/system-design.md.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages