{"id":50241074,"url":"https://github.com/ut42tech/cloud-planter-prototype","last_synced_at":"2026-05-26T21:04:25.152Z","repository":{"id":301537738,"uuid":"1005929000","full_name":"ut42tech/cloud-planter-prototype","owner":"ut42tech","description":"A prototype of smart home gardening support app. | PBL 2025 Project","archived":false,"fork":false,"pushed_at":"2026-03-07T03:36:02.000Z","size":149,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-07T12:18:43.000Z","etag":null,"topics":["nextjs","prototype","smart-gardening","supabase"],"latest_commit_sha":null,"homepage":"https://pbl-cloud-garden.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ut42tech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-21T05:30:29.000Z","updated_at":"2026-03-07T03:36:06.000Z","dependencies_parsed_at":"2025-06-30T17:46:53.333Z","dependency_job_id":null,"html_url":"https://github.com/ut42tech/cloud-planter-prototype","commit_stats":null,"previous_names":["ut42univ/pbl2025-frontend","ut42tech/pbl2025-frontend","ut42tech/cloud-planter-prototype"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ut42tech/cloud-planter-prototype","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ut42tech%2Fcloud-planter-prototype","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ut42tech%2Fcloud-planter-prototype/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ut42tech%2Fcloud-planter-prototype/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ut42tech%2Fcloud-planter-prototype/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ut42tech","download_url":"https://codeload.github.com/ut42tech/cloud-planter-prototype/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ut42tech%2Fcloud-planter-prototype/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33538677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"ssl_error","status_checked_at":"2026-05-26T15:22:15.568Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["nextjs","prototype","smart-gardening","supabase"],"created_at":"2026-05-26T21:04:07.893Z","updated_at":"2026-05-26T21:04:25.146Z","avatar_url":"https://github.com/ut42tech.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# トマサポ (TomaSupo)\n\nトマト栽培モニタリングシステムのフロントエンドプロトタイプです。  \nIoT センサーと AI 診断を活用して、トマトの生育状況をリアルタイムで管理・可視化するウェブアプリケーションです。\n\n## 機能概要\n\n- **ダッシュボード**: 登録済みポット一覧と各センサー値（温度・土壌水分・窒素濃度）のリアルタイム表示（30秒自動更新）\n- **ポット詳細**: センサー履歴グラフ（1〜30日間）・AI診断結果・CSVエクスポート\n- **履歴**: 全ポットまたは指定ポットの時系列データ分析（統計値・グラフ表示）\n- **設定**: プロフィール・通知・表示・データ管理の各種設定\n- **認証**: NextAuth.js による JWT セッション管理（メール＋パスワード）\n\n## 技術スタック\n\n| カテゴリ | 使用技術 |\n|---|---|\n| フレームワーク | Next.js 15 (App Router, Turbopack) |\n| UI ライブラリ | React 19, Radix UI, Tailwind CSS 4 |\n| グラフ | Recharts 3 |\n| 認証 | NextAuth.js 4 |\n| 言語 | TypeScript 5 |\n| アイコン | Lucide React |\n\n## セットアップ\n\n### 1. 依存関係のインストール\n\n```bash\nyarn install\n```\n\n### 2. 環境変数の設定\n\nプロジェクトルートに `.env.local` を作成し、以下の変数を設定してください。\n\n```env\n# NextAuth.js のシークレットキー（必須）\nNEXTAUTH_SECRET=your-secret-key\n\n# バックエンド API の URL（未設定時はモックデータを使用）\nNEXT_PUBLIC_API_BASE_URL=https://your-api-endpoint.com\n```\n\n`NEXTAUTH_SECRET` はランダムな文字列を設定してください。以下のコマンドで生成できます。\n\n```bash\nopenssl rand -base64 32\n```\n\n### 3. 開発サーバーの起動\n\n```bash\nyarn dev\n```\n\n[http://localhost:3000](http://localhost:3000) をブラウザで開いてください。\n\n### 4. ビルド・本番起動\n\n```bash\nyarn build\nyarn start\n```\n\n## デモアカウント\n\n\u003e **⚠️ 開発専用**: 以下のアカウントは開発・検証目的のみで使用してください。本番環境では使用しないでください。\n\n| 役割 | メールアドレス | パスワード |\n|---|---|---|\n| 管理者 | admin@tomasapo.com | admin123 |\n| 農家 | farmer@tomasapo.com | farmer123 |\n| デモ | demo@tomasapo.com | demo123 |\n\n\u003e **Note**: 現在はモックデータで動作しています。バックエンド API に接続する場合は `NEXT_PUBLIC_API_BASE_URL` を設定し、`src/lib/api.ts` のモック実装を実際の API 呼び出しに置き換えてください。\n\n## プロジェクト構成\n\n```\nsrc/\n├── app/                    # Next.js App Router ページ\n│   ├── page.tsx           # ルートページ（認証状態に応じてリダイレクト）\n│   ├── login/             # ログインページ\n│   ├── dashboard/         # ダッシュボード\n│   ├── pot/[id]/          # ポット詳細\n│   ├── history/           # 履歴・分析\n│   └── settings/          # ユーザー設定\n├── components/\n│   ├── ui/                # 汎用 UI コンポーネント\n│   ├── layout/            # AppLayout・サイドバーナビゲーション\n│   ├── auth/              # AuthGuard（ルート保護）\n│   ├── PotCard.tsx        # ポット一覧カード\n│   ├── PotDetail.tsx      # ポット詳細・グラフ\n│   └── DiagnosisHistory.tsx # AI 診断履歴\n├── hooks/                  # カスタム React Hooks\n│   ├── usePots.ts\n│   ├── usePotDetail.ts\n│   ├── useSensorData.ts\n│   └── useHistoricalData.ts\n├── lib/\n│   ├── api.ts             # API クライアント（モック実装含む）\n│   ├── auth.ts            # NextAuth 設定\n│   ├── mockData.ts        # 開発用ダミーデータ\n│   └── utils.ts           # ユーティリティ関数\n└── types/\n    └── index.ts           # TypeScript 型定義\n```\n\n## 主要な型定義\n\n```typescript\n// センサーデータ\ninterface SensorData {\n  id: string;\n  timestamp: string;\n  temperature: number;      // 気温 (°C)\n  soilMoisture: number;     // 土壌水分 (%)\n  nitrogenLevel: number;    // 窒素濃度 (mg/L)\n  potId: string;\n}\n\n// AI 診断結果\ninterface DiagnosisResult {\n  id: string;\n  timestamp: string;\n  status: \"good\" | \"warning\" | \"critical\";\n  message: string;\n  recommendations: string[];\n  potId: string;\n}\n\n// ポット情報\ninterface PotInfo {\n  id: string;\n  name: string;\n  variety: string;           // 品種\n  plantedDate: string;\n  currentSensorData: SensorData | null;\n  latestDiagnosis: DiagnosisResult | null;\n}\n```\n\n## ライセンス\n\nこのリポジトリは PBL2025 の学習目的で作成されたプロトタイプです。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fut42tech%2Fcloud-planter-prototype","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fut42tech%2Fcloud-planter-prototype","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fut42tech%2Fcloud-planter-prototype/lists"}