Skip to content

Repository files navigation

edisuku

ci License: MIT

リポジトリ名 edisuku — EDINET から有価証券報告書を取得・解析し、Web スクリーナーで可視化する オープンソース の財務データプラットフォーム。Cloudflare Workers の無料枠で動作する。

30 分でフォークから自分のデプロイまで

# 1. fork & clone (5 min)
gh repo fork <owner>/edisuku --clone
cd edisuku

# 2. ローカルでサンプル UI を確認 (5 min)
docker compose -f infra/compose.yml up
# → http://localhost:3000
# Docker なし: docs/MANUAL_SETUP.md

# 3. Cloudflare へセットアップ (15 min)
pnpm install
npx wrangler login
# → docs/FORK_SETUP.md(staging / production を 1 つずつ設定してデプロイ)

# 4. デプロイ (5 min)
pnpm deploy:api:staging && pnpm deploy:web:staging
# production も: pnpm deploy:api:production && pnpm deploy:web:production
# または Actions → deploy
# → https://edisuku-web-staging.<your-subdomain>.workers.dev

アーキテクチャ

EDINET API
  ↓
apps/wrapper (Python: 取得・解析)
  ↓ SQLite delta
Cloudflare D1
  ↓ drizzle
apps/api (Hono on Workers)
  ↓ hono/client (型安全)
apps/web (Vike + React on Workers)
  ↓
ユーザー

モノレポ構成

apps/
  api/        Hono on Workers (REST API)
  web/        Vike + React on Workers (UI)
  wrapper/    Python: EDINET 取得・解析
packages/
  db/         drizzle schema + 共通クエリ
  metrics/    指標計算・flatten・大株主パース(単一ソース)
  types/      API/Web 共通 TS 型
infra/
  compose.yml              ローカル開発
  compose.prod.yml         本番相当スモーク
  render-wrangler-config.sh  wrangler テンプレート生成
docs/
  ARCHITECTURE.md     全体構造・データフロー

ローカル開発

方法 手順
Docker Compose(推奨・最速) docker compose -f infra/compose.yml uphttp://localhost:3000
ホスト直接 docs/MANUAL_SETUP.md

11 社分のサンプル DB(seed + 指標 + 大株主)は infra/init/*.sql に同梱済み。初回起動時にローカル D1 へ投入され、毎回の再生成は不要です。

開発コマンド

pnpm dev                       # 全 apps を並列起動 (turbo) — 手動セットアップ後
pnpm lint                      # biome check
pnpm typecheck                 # 全 workspace で tsc --noEmit
pnpm test                      # turbo test
pnpm changeset                 # changeset 作成
pnpm sample:regenerate         # サンプル SQL 再生成(メンテナ向け)

Python:

cd apps/wrapper
uv sync
uv run pytest
uv run python scripts/ingest_daily.py --help

環境変数

必須・任意・設定場所の一覧は docs/ENV.md を参照。ローカルは INTERNAL_API_KEY + API_UPSTREAM_URL(web のみ)、Cloudflare は apply-internal-api-key.sh が必須。

ドキュメント

ライセンス

MIT

クレジット

About

EDINET連携のフルスタックOSS財務スクリーナー

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages