訪問型営業パーソン向け汎用CRM。保険外交員‧化粧品販売員など「個人事業主的な販売員」全般をターゲットとする単独アプリ
  • TypeScript 60.6%
  • Python 35%
  • CSS 2.1%
  • Shell 1.1%
  • JavaScript 1%
  • Other 0.2%
Find a file
kaz f882e94a14
Some checks failed
CI / frontend (push) Has been cancelled
CI / backend (push) Has been cancelled
docs: LICENSE(プロプライエタリ)とサードパーティライセンス一覧、スモークCIを追加
- LICENSE: 個人名義の権利表記(事業譲渡時のDD向け。無断複製・再頒布・商用利用の禁止を明記)
- THIRD_PARTY_NOTICES.md: npm/PyPI全依存+同梱MLモデルのライセンス一覧。GPL/AGPL/LGPL系はnpm・venv全件スキャンでゼロ件を確認
- .github/workflows/ci.yml: push/PRごとにフロント(tsc/vitest/build)とバックエンド(依存インストール+起動import)を検証。
  GitHubミラーで動作、Forgejo側はランナー登録で有効化可。submodule(200MB)はCIでは取得しない

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 10:32:16 +00:00
.github/workflows docs: LICENSE(プロプライエタリ)とサードパーティライセンス一覧、スモークCIを追加 2026-07-14 10:32:16 +00:00
backend fix: 経費と会計仕訳の連動を双方向に補完(編集/削除同期・科目コードズレ・一括反映) 2026-07-14 08:30:05 +00:00
deploy feat: 新CT公開用のdeploy資材(2インスタンス構成)を追加 2026-07-14 08:11:28 +00:00
public feat: ErrorBoundaryとオフラインバナーを追加、sw.jsのgenba残骸を改名 2026-07-14 07:42:11 +00:00
src fix: 経費と会計仕訳の連動を双方向に補完(編集/削除同期・科目コードズレ・一括反映) 2026-07-14 08:30:05 +00:00
.gitignore feat: 公開前セキュリティ強化(JWT秘密鍵の自動生成・ログインレート制限・上限/CORS) 2026-07-14 07:38:36 +00:00
.gitmodules feat: レシートOCRをローカルエンジン(ocr-mb)標準化、Geminiは任意フォールバックに変更 2026-07-14 03:11:33 +00:00
CLAUDE.md feat: レシートOCRをローカルエンジン(ocr-mb)標準化、Geminiは任意フォールバックに変更 2026-07-14 03:11:33 +00:00
eslint.config.js feat: P0 スキャフォールド — fieldcrm 骨格を genba から移植 2026-07-07 09:29:44 +00:00
index.html feat: UI刷新v2 — HUD強度up(コーナーブラケット/発光/グリッド/モノ見出し/セグメントバー) 2026-07-08 02:44:54 +00:00
LICENSE docs: LICENSE(プロプライエタリ)とサードパーティライセンス一覧、スモークCIを追加 2026-07-14 10:32:16 +00:00
package-lock.json feat: UI刷新v2 — HUD強度up(コーナーブラケット/発光/グリッド/モノ見出し/セグメントバー) 2026-07-08 02:44:54 +00:00
package.json feat: UI刷新v2 — HUD強度up(コーナーブラケット/発光/グリッド/モノ見出し/セグメントバー) 2026-07-08 02:44:54 +00:00
README.md feat: レシートOCRをローカルエンジン(ocr-mb)標準化、Geminiは任意フォールバックに変更 2026-07-14 03:11:33 +00:00
server.cjs feat: 公開前セキュリティ強化(JWT秘密鍵の自動生成・ログインレート制限・上限/CORS) 2026-07-14 07:38:36 +00:00
THIRD_PARTY_NOTICES.md docs: LICENSE(プロプライエタリ)とサードパーティライセンス一覧、スモークCIを追加 2026-07-14 10:32:16 +00:00
tsconfig.app.json feat: P0 スキャフォールド — fieldcrm 骨格を genba から移植 2026-07-07 09:29:44 +00:00
tsconfig.json feat: P0 スキャフォールド — fieldcrm 骨格を genba から移植 2026-07-07 09:29:44 +00:00
tsconfig.node.json feat: P0 スキャフォールド — fieldcrm 骨格を genba から移植 2026-07-07 09:29:44 +00:00
vite.config.ts refactor: フロントAPIを /api 名前空間に統一(vite proxy一本化) 2026-07-08 00:33:35 +00:00
vitest.config.ts feat: P0 スキャフォールド — fieldcrm 骨格を genba から移植 2026-07-07 09:29:44 +00:00

fieldcrm

訪問型営業パーソン保険外交員・化粧品販売員など個人事業主的な販売員向けの汎用CRM。 現場管理アプリ genba のインフラ・共通UI・ガントビューを流用した別プロダクト。個人利用1ユーザー1環境・SQLite前提。

構成

ブラウザ ──▶ server.cjs (:3007, dist配信 + /api→:8080プロキシ)
                     └─▶ FastAPI (:8080) ──▶ SQLite (fieldcrm.db)
  • フロント: React 19 + Vite + TypeScript + Tailwind v4
  • バックエンド: FastAPI + SQLAlchemy 2.0 + SQLite、認証 JWT + bcrypt
  • デザイン: iOS/リキッドグラス調。デフォルトテーマ Autumn(テラコッタ/クレイ/アイボリー)+ パステル/オーシャン/Field/クターンの計5種
  • レシートOCR: 標準はローカルOCRocr-mb、外部API不要。Gemini APIキー設定時は読み取れなかった場合のフォールバックとして再読み取りする設定でON/OFF可、既定ON

セットアップ

共通(初回のみ)

git clone <repo-url>
cd fieldcrm
git submodule update --init

git submodule update --init はレシートOCR用の backend/vendor/ocr-mb を取得する。初回は約200MBダウンロードされる。

バックエンド

cd backend
python3 -m venv venv
./venv/bin/pip install -r requirements.txt
./venv/bin/uvicorn app.main:app --host 127.0.0.1 --port 8080

起動時に SQLite テーブルを作成し、既定オーナーを投入する。

  • 既定ログイン: owner@fieldcrm.local / fieldcrmSEED_OWNER_EMAIL / SEED_OWNER_PASSWORD で変更可)
  • 本番は JWT_SECRET を設定すること。Google ログイン利用時は GOOGLE_CLIENT_ID

フロント

npm install
npm run dev      # 開発 (:3007、/api を :8080 へプロキシ)
npm run build    # 本番ビルド → dist/
npm run test     # vitest
node server.cjs  # dist を配信 + /api プロキシ

実装状況P0 = 骨格)

  • フロント土台ビルド構成・共通UI・ガント・テーマ
  • テーマ5種Autumn=デフォルト / パステル / オーシャン / Field / ノクターン)
  • バックエンド骨格 + SQLite
  • ローカルパスワード + 任意 Google 認証JWT
  • ⏭ 次: 見込み客(Prospect) / フェーズ(Phase) / 経費(Expense) / 行動・XP / ガント・一覧・ダッシュボード

詳細な設計方針は CLAUDE.md を参照。