Skip to content

RNA4219/planting-planner

Repository files navigation

Planting Planner

CI

趣味農家・家庭菜園向けに、収穫(出荷)したい週から逆算して「今週植える作物」を提案するオープンソースの作付けナビです。

このプロジェクトでできること

  • 収穫予定週を基点に、寒冷地/温暖地/暖地ごとの播種・定植タイミングを逆算して一覧化。
  • 直感的なPC向け画面で、お気に入りの作物を☆マークで保存し並び替え。
  • 「更新」ボタンひとつで最新データを取得し、週次のおすすめ作物をチェック。

クイックスタート

前提

  • Node.js 20 以上
  • Python 3.11 以上
  • Poetry 1.6 以上

1. 依存関係を入れる

リポジトリ直下でバックエンド依存を入れます。

poetry install --with backend,dev

続けてフロントエンド依存を入れます。

cd frontend
npm ci
cd ..

2. Windows では Start.bat でまとめて起動する

エクスプローラーからダブルクリックするか、PowerShell / コマンドプロンプトで次を実行してください。

.\Start.bat

これで以下が自動で実行されます。

  • PowerShell ウィンドウを 2 つ開いて、バックエンドとフロントエンドをそれぞれ起動
  • フロントエンドを http://127.0.0.1:5173 から順に空いているローカルポートで起動し、その URL をブラウザ表示

Start.bat はまず poetry run を使い、poetry が見つからない場合は py -m uvicorn / python -m uvicorn にフォールバックします。 すでに 5173 が使われている場合は 5174, 5175 のように自動で空きポートへ切り替えます。

補助オプション:

.\Start.bat -CheckOnly
.\Start.bat -NoBrowser

-CheckOnly は起動せずに前提コマンドだけ確認し、-NoBrowser はブラウザを開かずにサーバーだけ立ち上げます。

3. 手動で起動したい場合

poetry run uvicorn app.main:app --app-dir backend --reload

API は既定で http://127.0.0.1:8000 で起動します。

別ターミナルでフロントエンドを起動します。

cd frontend
npm run dev

表示されたローカル URL を開き、地域を選んで「今週の作付け計画」を確認します。

4. 動作確認をする

バックエンド:

python -m pytest backend/tests tests -q

フロントエンド:

cd frontend
npm run typecheck
npm test

💡 SQLite の既存データを使うので、基本設定のままでお試しできます。 ETL を走らせる場合は data/ ディレクトリや /api/refresh をご覧ください。

データの出どころ

  • e-Stat を中心とした公的統計データから週次の市場動向を取得。
  • 農林水産省の公開資料をもとに平均的な生育日数を整理。
  • 作物マスタや生育データを SQLite に蓄えて API から配信します。

ご利用前に

  • 本ツールが示す時期はあくまで一般的な目安であり、地域差や天候は加味されません。
  • 利用による損害は開発者が負わない点をご理解のうえご活用ください。
  • PCブラウザ・路地栽培前提のアプリです。温室栽培やスマホ利用は対象外です。

ドキュメントと参加のしかた

  • プロダクト仕様やAPI設計など、詳細資料は /docs フォルダに集約しています。
  • バグ報告や改善提案は Issue/PR で歓迎です。開発フローやスタイルは Docs の CONTRIBUTING/DEVELOPMENT をご確認ください。
  • CI ではフロントエンド/バックエンドの検証に加えて Playwright によるE2Eテストと Lighthouse スモークを実行し、失敗時はレポートをアーティファクトとして保存します。 ジョブ定義は.github/workflows/ci.ymlを参照し、GitHub Actions の Summary 画面から Artifacts を開くことで各種レポート(Playwright/Lighthouse 等)を取得できます。

QA / 検証

  • Lint / 型 / テスト

    poetry run ruff check
    poetry run mypy
    poetry run pytest --cov
  • Lighthouse スコア

    npm run build
    npm run preview
    lhci autorun
    • 主要メトリクスは以下のスコアを満たすこと。
      • PWA ≥ 0.90
      • Performance ≥ 0.80
      • Accessibility ≥ 0.90
      • Best Practices ≥ 0.80
      • SEO ≥ 0.80
    • 更新後の基準が CI の lhci autorun 結果と矛盾しないことを確認するため、npm run build && npm run preview && lhci autorun をローカルで実行し、各スコアが基準値を満たすことを確認してください。

家庭菜園の計画づくりに、Planting Planner をぜひお役立てください。

About

作付け逆算カレンダー「planting-planner」は、収穫希望週から逆算して播種・定植週を提示するPC向けOSSです。公的市場データと作物ごとの平均生育日数を活用し、野菜・花きを対象に週単位の目安を可視化。Python(FastAPI)+TypeScript(React)を採用し、家庭菜園〜零細農家の計画支援を目的としています。 Planting Planner is an open-source web app that calculates weekly sowing schedules backward from harvest weeks, using public market data and average crop growth days.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors