Skip to content

snowtone-ai/admith

Repository files navigation

Admith Flow

食品廃棄物の「売りたい」と「欲しい」を自動でつなぎ、価格交渉まで済ませるB2B向けシステム

食品廃棄物を出している事業者と、それを資源として受け取りたい事業者のマッチングと価格・条件交渉をシステムが自動で処理します。ただしAIが勝手に契約を結ぶことはなく、最終的な確定は必ず人間が承認する仕組みです。


主な機能

  • 食品廃棄物リソースの登録・管理ができる
  • 事業者間の交渉を自動で進め、価格・コンプライアンス条件を決定論的ルールエンジン(あらかじめ決められたルールに従って判断するシステム)で算出できる
  • 人間の最終承認を経て契約・精算が完了する
  • 交渉の全経緯を改ざん不可能な監査ログとして記録・確認できる
  • オペレーター向けダッシュボードからリソース登録・交渉状況・承認操作ができる

技術スタック

カテゴリ 技術・ツール
フロントエンド Next.js(Reactベースのウェブアプリフレームワーク)
バックエンド FastAPI(Python製の高速APIフレームワーク)、SQLAlchemy(データベース操作ライブラリ)、Alembic(データベース構造の変更管理ツール)
データベース PostgreSQL / PostGIS(地理情報対応のリレーショナルデータベース)
インフラ・環境 Docker Compose(複数サービスをまとめて起動・管理するコンテナツール)

設計の工夫

  • ヘキサゴナルアーキテクチャ(業務ロジックを外部システムから切り離す設計)を採用しており、データベースやAPIの差し替えが容易
  • 価格・契約・コンプライアンス判断をAIではなく決定論的ルールエンジンで処理し、判断の再現性・監査可能性を確保
  • 人間の最終承認なしに署名・資金移動・契約確定が実行されない安全設計

セットアップ

必要なツール:Docker Desktop(Docker Compose v2)、Node.js、pnpm、Python 3.12

.env.example をコピーして .env を作成し、APIキーを設定します。

cp .env.example .env

.env に以下を設定してください。

API_KEY=任意のランダム文字列

スタックを起動します。

docker compose up -d --build

ダッシュボードを開きます。

http://localhost:3000

.env に設定した API_KEY でログインしてください。

スタックを停止するには:

docker compose down

ライセンス

MIT

About

B2B food waste matching platform — hexagonal architecture, deterministic rule-based negotiation engine, price/compliance scoring, audit logging. Next.js frontend + FastAPI backend + PostGIS.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors