友田 陽大
← 実績一覧に戻る
🏆経済産業大臣賞 受賞

経済産業大臣賞受賞 | 木材流通業界のDXを実現したB2BサブスクリプションSaaS

電話・FAX・Excelによるアナログ取引を、Web上で一元管理するSaaS化に成功

🏢

クライアント

某木材流通関連企業(本プロダクトにて経済産業大臣賞を受賞) | 業界: 木材流通(林業、市場、製材所、メーカー、問屋、工務店など) | モデル: B2B 月額課金サブスクリプション (SaaS)

👤

私の役割

テクニカル・アーキテクト 兼 フルスタック・デベロッパー(基本設計・フロントエンド・バックエンド・インフラ構築・運用保守まで、プロダクト開発の全工程を一人で担当)

💭課題(Situation & Task)

木材業界は、電話・メール・FAX・Excelでの受発注が主流の、極めてアナログな業界でした。流通には「林業」「市場」「製材所」「プレカット」「工務店」「メーカー」「問屋」といった多様な業界(ユーザー属性)が関わっており、商流や利害関係が複雑に絡み合っていました(業界のしがらみ)。従来は関係性のある既存の取引先としか取引できず、情報も閉鎖的でした。

詳細:

木材業界特有の複雑な課題として、以下の3点が存在していました。

  1. 業界の根本課題: 電話、メール、Fax、Excelでの受発注が主流で、デジタル化が大幅に遅れていました。在庫情報はExcelで管理され、常に最新情報が不明。FAXでの発注は記録が残らず、電話での確認作業に毎日数時間を要していました。

  2. 複雑なステークホルダー: 「林業」「市場」「製材所」「プレカット」「工務店」「メーカー」「問屋」といった多様な業界(ユーザー属性)が関わっており、それぞれの商流や利害関係が複雑に絡み合っていました。各ユーザー属性で実行可能な機能や閲覧できる情報が異なるため、厳格な認証・認可が必須でした。

  3. 非効率な取引: 従来は、関係性のある既存の取引先としか取引できず、情報も閉鎖的。新規取引先の開拓は困難で、ビジネス機会を逃していました。

🔧技術選定の理由(Rationale)

  • Python (Flask, SQLAlchemy): PDF/Excelの重いバッチ処理(並列処理)や、複雑なビジネスロジック、データ操作(Excelインポート)に最適と判断

  • React (Vite, Tanstack Query): 複雑なユーザー属性ごとのUI制御、大量のデータ操作、APIキャッシュによるUX向上を実現するため採用

  • AWS (ECS, Fargate, RDS等): スケーラブルなSaaS基盤として必須。コンテナベースのマイクロサービス・アーキテクチャで柔軟性を確保

  • Terraform (IaC): 複雑なAWS環境(VPC, Cognito, ECS, RDS等)の再現性、保守性、セキュリティを担保するため、IaCを徹底

  • AWS Cognito: 「林業」「市場」「製材所」など、多様なユーザー属性ごとに厳格な認証・認可(実行可能機能の分離)を実現するために採用

  • Stripe: 月額サブスクリプション(SaaS)の課金基盤として、最も信頼性が高いため採用。定期課金、顧客管理、請求書発行を自動化

実施したこと(Action)

  • 【複雑な認証認可とB2Bセキュリティ】Cognitoを活用し、8種のユーザー属性ごとにページ単位・API単位で厳格な認証・認可を実装。画像・PDF・Excel等のアセットは署名付きURLを発行し、適切な権限を持つユーザーのみがセキュアにアクセス可能に

  • 【セキュリティ強化】クライアント側(zod) + バックエンド側(Marshmallow)の両方で徹底したバリデーションを実装。OWASP ZAPツールによる脆弱性テストを実施し、SQLAlchemyによるORM利用でSQLインジェクションを防御

  • 【パフォーマンス最適化】「見積書・納品書・請求書」のPDF/Excel生成や「既存ExcelのDB化」は重い処理。Pythonバックエンド側で処理を非同期化し、可能な限り並列処理で実行するアーキテクチャを設計

  • 【フロントエンドのUX】Tanstack Query (React Query)を全面的に採用し、APIキャッシュの効率化、データフェッチの責務分離、可読性の高い状態管理を実現。TypeScriptの型システムとzodを組み合わせ、APIレスポンスからUIコンポーネントまで一貫した型安全性を担保

  • 【AWSインフラの自動化(IaC)】広範なAWSサービス群を、TerraformによるIaCで完全にコード化。VPCのネットワーク設計からECS on Fargate(コンテナ基盤)、RDS(DB)、Cognito(認証)、ALB、CloudFront(CDN)、SES(メール)まで、全てをTerraformで管理し、再現性と保守性を確立

  • 【CI/CD パイプラインの構築】GitHub Actions で自動テスト・リンター(ESLint/Prettier/Flake8)・脆弱性診断(npm audit/pip-audit)を実行。コードレビュー後、自動ビルド・ECSへの自動デプロイを実現し、開発サイクルを高速化

詳細:

このプロジェクトでは、B2B SaaSかつStripe決済が絡むため、セキュリティ要件が最優先事項でした。

セキュリティとパフォーマンスの両立:

  • AWS Cognitoを活用し、「林業」「市場」「製材所」「プレカット」「工務店」「メーカー」「問屋」「その他」の8種のユーザー属性ごとに、ページ単位・API単位で厳格な認証・認可を実装しました。各ユーザー属性で実行可能な機能や閲覧できる情報を完全に分離。
  • 画像・PDF・Excel等のアセットは、署名付きURL(Pre-signed URL)を発行し、適切な権限を持つユーザーのみがセキュアにアクセス可能にしました。
  • クライアント側(zod)とバックエンド側(Marshmallow)の両方で徹底したバリデーションを実装。OWASP ZAPツールによる脆弱性テストを実施し、SQLAlchemyによるORM利用でSQLインジェクションを防御しました。

重い処理の最適化:

  • 「見積書・納品書・請求書」のPDF/Excel生成や、「既存ExcelのDB化」は非常に重い処理でした。ユーザーの待ち時間(UX低下)を防ぐため、Pythonバックエンド側で処理を非同期化し、可能な限り並列処理で実行するアーキテクチャを設計しました。

フロントエンドのUXと効率化:

  • 多様なユーザーが使用する複雑なB2B管理画面のUXを担保するため、Tanstack Query (React Query)を全面的に採用。APIキャッシュの効率化、データフェッチの責務分離、可読性の高い状態管理を実現しました。
  • TypeScriptの型システムとzodを組み合わせ、APIレスポンスからUIコンポーネントまで、一貫した型安全性を担保しました。

🔧技術選定の理由

  • React + Tanstack Query:高速なUIと効率的なデータフェッチング

  • zod + marshmallow:フロント・バック双方での厳格な型安全バリデーション

  • AWS ECS/Fargate + Terraform:IaCによる再現性の高いインフラ

  • PostgreSQL:リレーショナルなデータ構造で複雑な商流を表現

担当領域

  • 要件定義・基本設計
  • フロントエンド開発(React)
  • バックエンド開発(Python/Flask)
  • インフラ構築(AWS/Terraform)
  • データベース設計(PostgreSQL)

使用技術

Python
Flask
SQLAlchemy
React
TypeScript
Vite
Tanstack Query
zod
Marshmallow
AWS ECS
AWS Fargate
AWS Cognito
AWS RDS
AWS CloudFront
AWS SES
AWS ALB
Terraform
PostgreSQL
Docker
Stripe
OWASP ZAP
GitHub Actions
ESLint
Prettier
Flake8
npm audit
pip-audit

🎯成果

  • 🏆【最大の成果】クライアントはこのプロダクトで「経済産業大臣賞」を受賞
  • 🎯業界のDX実現: 電話/FAX/Excelで行われていたアナログな取引を、Web上で一元管理するSaaS化に成功
  • 🎯新たなビジネス機会の創出: 従来の閉鎖的な取引から脱却し、日本中のどの会社とでも(例: 製材所が市場に足を運ばずとも)効率的に取引可能に
  • 🎯トレーサビリティと信頼の向上: 木材のトレーサビリティ、チャット、企業評価機能により、透明性の高い取引を実現
  • 🎯業務効率化: 「見積書・納品書・請求書」のワンクリックPDF/Excel生成、既存Excelデータの自動DB化により、事務作業を大幅に削減
  • 🎯セキュリティ強化: 8種のユーザー属性ごとの厳格な認証・認可により、安全なB2B取引基盤を構築
  • 🎯月額サブスクリプションモデルの確立: Stripeによる安定した課金基盤で、継続的なビジネス成長を実現
  • 🎯CI/CD による品質保証とセキュリティ診断の自動化: GitHub Actions でコードレビュー前に自動テスト・リンター・脆弱性診断を実行し、高品質なコードを担保

同様の課題はありませんか?

あなたのビジネス課題も、最新の技術で解決できるかもしれません。
まずは30分、無料技術相談で状況をお聞かせください。

無料技術相談を予約する

※ プロジェクト単位(請負)・技術顧問、どちらも対応可能です