制作物 01
🌱 FarmPlan
畑の区画をグリッドで可視化し、野菜の配置・連作障害チェック・来季のシミュレーションを支援するWebアプリ
デモを見る GitHubデモ用アカウント|ID: demo パスワード: demo1234
開発背景
宮崎での農業経験から、小規模多品目の作付け計画がパズルのように複雑で、計画と記録が分断されがちな課題を実感。栽培記録を積み重ねてPDCAを回しやすくする仕組みを作りたいと考え開発しました。
主な機能
🌿 畑グリッド管理(1m²単位、サイズ自由設定)
🎨 科ごとの色分け表示(ナス科・ウリ科など6科)
⚠️ 連作障害チェック(過去3年の栽培記録を参照し警告)
📋 シミュレーション機能(plan/actualモードで実績と計画を分離管理)
🌱 野菜マスタのユーザー管理・株数記録・品種表示
📝 栽培メモ・農作業タスク管理
🗑️ 栽培記録の一括削除・論理削除
技術スタック
PHP 8.2
MySQL 8.0
HTML / CSS
JavaScript
AJAX
Docker
Git / GitHub
セキュリティ対策
🔒 パスワードハッシュ化(password_hash / password_verify)
🔒 SQLインジェクション対策(PDOプリペアドステートメント)
🔒 XSS対策(htmlspecialchars による出力エスケープ)
🔒 セッション固定攻撃対策(session_regenerate_id)
🔒 認証ガード(全ページでセッション確認)
🔒 機密情報管理(.envファイルで管理・.gitignoreで除外)
ドキュメント
DB設計
users ユーザー管理
fields 畑の管理(サイズ・名前)
plots 区画(1m²単位)
plot_seasons 栽培履歴(連作チェックの核心テーブル)
vegetables 野菜マスタ(科・品種)
companion_rules コンパニオンプランツルール
harvests 収穫記録
tasks 農作業タスク