たくはいくん
- 概要
- 農産物の宅配業務に合わせて、注文・顧客・商品・発送・送り状印刷までを一つの流れで扱えるよう設計したフル機能版の宅配管理システムです。繁忙期でも確認作業が止まらないことを優先しました。
- 設計・開発の思想
- 注文・顧客・商品・送料・請求を一つのデータでつなぎ、同じ内容を何度も入力し直したり台帳間で転記したりする手間をなくすことを重視しました。担当者が変わっても送料や単価が同じ結果になるよう計算ルールを揃え、価格や送料の設定は履歴付きで管理。すでに使われているデータはうっかり消せないようにし、操作の記録も残すことで、運用中のトラブルを未然に防ぐ設計にしています。
技術的な内容クリックして表示
Next.js 16(App Router)/ TypeScript(strict)で構築し、データは PostgreSQL を Prisma ORM 経由で扱います。認証は NextAuth v5(Google OAuth)で、ログイン後に権限(管理者/システム保守者/スタッフ)を判定し、画面とAPIの双方で権限チェックを行う二重防御を採用。APIの入力は Zod で検証します。商品は「3kg箱」などの販売単位を基準に金額を計算し、注文明細で使用中の販売単位は削除を禁止。得意先別価格は有効期間が重複しないよう制御し、主要操作は上限付きの監査ログに記録します。送料は配送業者・地域・配送規格・温度帯の料金テーブルから条件に応じて最適料金を探索し、統計APIはCSV出力に対応。グラフ表示は Recharts、選択UIは react-select、画面は React Bootstrap で実装しています。
- 開発が進展しないボトルネック
- 機能を盛り込んだぶん、試用時のフィードバック収集もメンテナンスも重くなりました。ユーザーにとっても高機能すぎて分かりづらく、複数の農園に試してもらいながら改善を重ねる流れを、個人ベースでは作りきれていません。
