okamyuji

Vision API App — Data skill for Claude Code

Data community

Receipt recognition API using Claude Vision API (Haiku 4.5).

How to install Vision API App

This entry records only its repository, not the path inside it, so there is no exact command to give. Open okamyuji/vision-api-app and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Vision API App does

Receipt recognition API using Claude Vision API (Haiku 4.5). Go + Clean Architecture + MySQL + Redis.

Alternatives in Data

  • Archify — Agent skill for beautiful, verifiable architecture, workflow, sequence, data-flow, and lifecycle diagrams—self 17.2k ★
  • Portaljs Architect — Recommend a data-portal architecture (storage, compute, catalog, access, hosting, metadata) from your needs, t 2.3k ★
  • Sprite Gen — Generate clean 2D game sprites & animation atlases — component-row pipeline: state rows, alpha cleanup, frame 763 ★

README

Vision API Server (Go版 - Modular Monolith)

Claude Vision APIを使用した画像認識Web APIサーバー + 家計簿Web UI(Go実装、Modular Monolith設計)

概要

Claude Vision API(Haiku 4.5)を使用してレシート画像から情報を抽出し、家計簿として管理するWebアプリケーション。Modular Monolith + Clean Architectureに基づいた設計により、高いテスタビリティと保守性を実現。

特徴

  • Modular Monolith アーキテクチャ: 機能別モジュール分割による高い保守性
  • Web UI: 標準のhtml/templateのみを使用したシンプルなUI
    • レシート画像アップロード画面(ファイル選択・カメラ撮影対応)
    • レシート認識結果表示画面
    • 家計簿一覧画面(カテゴリ別集計付き)
  • Claude Vision API: Claude Haiku 4.5による高精度な画像認識
  • 用途別プロンプト最適化:
    • レシート読み取り専用プロンプト(JSON形式で構造化データ抽出)
    • 家計簿仕訳け専用プロンプト(カテゴリ自動判定)
    • 汎用テキスト抽出プロンプト
  • RESTful API: 標準のnet/httpのみを使用したシンプルな設計
  • Clean Architecture設計: レイヤー分離、依存性注入(DI)による疎結合
  • Prompt Caching: Claude APIのプロンプトキャッシュ機能を活用
  • Redis Caching: アプリケーション層での24時間キャッシュ
  • MySQL Database: レシート・家計簿データの永続化
  • Docker対応: コンテナ化による環境依存の解決
  • 高いテストカバレッジ: 90%以上のユニットテストカバレッジ
  • 構造化ログ: log/slogによる構造化ログ出力

アーキテクチャ

Modular Monolith 構造

internal/
├── modules/
│   ├── vision/              # Vision API モジュール
│   │   ├── domain/          # AIResult エンティティ、リポジトリIF
│   │   ├── usecase/         # AI補正ユースケース
│   │   └── presentation/    # Vision API ハンドラー
│   ├── household/           # 家計簿モジュール
│   │   ├── domain/          # Receipt, ExpenseEntry エンティティ
│   │   ├── usecase/         # Receipt, Household ユースケース
│   │   └── presentation/    # Web UI ハンドラー
│   └── shared/              # 共有インフラストラクチャ
│       └── infrastructure/  # AI, Database, Cache 実装
├── presentation/            # プレゼンテーション層統合
│   ├── di/                  # DIコンテナ
│   └── http/                # ルーター、ミドルウェア
└── config/                  # 設定管理

Clean Architecture レイヤー

┌─────────────────────────────────────────────┐
│ Presentation Layer                          │
│  - Web UI Handlers (html/template)          │
│  - API Handlers (net/http)                  │
│  - Middleware (CORS, Logging, Recovery)     │
│  - DI Container                             │
├──────