Open source architecture

会計ロジックを、
組み替えられる部品に。

オープン会計は完成品のアプリであると同時に、複式簿記の型・計算・UI・保存方式を 用途に合わせて構成できるTypeScript基盤です。

Language
TypeScript
License
Apache-2.0
Architecture
Ports & Adapters
Tests
Vitest + Playwright

境界を守るから、自由に差し替えられる

UIから保存方式までを一枚岩にせず、依存方向を固定しています。独自アプリは必要なPortを実装し、 自分のcomposition rootで部品を組み合わせられます。

Client

型・計算、外部境界、Reactユースケース、UIを分離。会計ロジックはフレームワークに依存しません。

Server

ドメイン、DB境界、ユースケース、API組み立てを単方向に依存させています。

Adapters

SQLite Wasm + OPFS、インメモリDB、印刷、埋め込みバックエンドを交換できます。

Composition

参照アプリは薄く保ち、利用者が必要な部品だけを組み合わせられる構成です。

Live dependency mapパッケージ依存関係
設計文書を読む

拡張しても、会計の約束を壊さない

API、DB、アーカイブ形式を明示的な契約にし、保存方式が変わっても同じ振る舞いになることをテストします。

公開している境界

  • バックエンドを差し替える OpenkkBackendPort
  • 保存方式を差し替える OpenkkDbPort
  • バージョン付き会計期間アーカイブZIP
  • クライアントとサーバーで共通化しすぎない型境界

継続的な検証

  • Vitestによるドメインロジック・パーサー検証
  • DBアダプター共通の契約適合テスト
  • Playwrightによる締め処理のE2Eテスト
  • TypeScriptによる全ワークスペース検査
Contributor quick start3コマンドで検証を開始
npm install
npm test
npm run lint

人が分かるUIから、道具もつながる会計基盤へ

操作説明を増やすのではなく、今のUIの分かりやすさを守ったまま、外側の接続点を育てます。 未実装の項目はNextまたはExploreとして明示します。

Now利用可能

会計を、閉じたアプリから再利用できる部品へ

  • ブラウザで完結する複式簿記と帳票生成
  • ローカル保存・クラウド保存を選べる構成
  • 交換可能なバックエンドとDBアダプター
  • 別環境へ持ち出せる安定したアーカイブ形式
Next次に進める

人とツールが、同じ契約で安全につながる

  • HTTPバックエンドの参照アダプターを公開
  • 明示的なコマンドで操作できるCLIを整備
  • AI提案を人が確認してから反映する操作境界
  • 変更理由を追跡できる監査情報の設計
Explore探索中

会計ソフトを選ぶから、自分用に組み立てるへ

  • 業種や運用に合わせた第三者バンドル
  • 外部サービスと接続するコミュニティ製アダプター
  • 匿名・ローカル優先を保った自動化
  • 会計データを閉じ込めない相互運用エコシステム

機械にも同じプロジェクト情報を渡す

人向けページと同じ事実を、JSONと簡潔なMarkdownでも公開しています。機能の推測ではなく、 公式ソースと契約文書を起点に参照できます。