型・計算、外部境界、Reactユースケース、UIを分離。会計ロジックはフレームワークに依存しません。
Open source architecture
会計ロジックを、
組み替えられる部品に。
オープン会計は完成品のアプリであると同時に、複式簿記の型・計算・UI・保存方式を 用途に合わせて構成できるTypeScript基盤です。
- Language
- TypeScript
- License
- Apache-2.0
- Architecture
- Ports & Adapters
- Tests
- Vitest + Playwright
Architecture
境界を守るから、自由に差し替えられる
UIから保存方式までを一枚岩にせず、依存方向を固定しています。独自アプリは必要なPortを実装し、 自分のcomposition rootで部品を組み合わせられます。
ドメイン、DB境界、ユースケース、API組み立てを単方向に依存させています。
SQLite Wasm + OPFS、インメモリDB、印刷、埋め込みバックエンドを交換できます。
参照アプリは薄く保ち、利用者が必要な部品だけを組み合わせられる構成です。
Live dependency mapパッケージ依存関係
設計文書を読むContracts & verification
拡張しても、会計の約束を壊さない
API、DB、アーカイブ形式を明示的な契約にし、保存方式が変わっても同じ振る舞いになることをテストします。
公開している境界
- バックエンドを差し替える OpenkkBackendPort
- 保存方式を差し替える OpenkkDbPort
- バージョン付き会計期間アーカイブZIP
- クライアントとサーバーで共通化しすぎない型境界
継続的な検証
- Vitestによるドメインロジック・パーサー検証
- DBアダプター共通の契約適合テスト
- Playwrightによる締め処理のE2Eテスト
- TypeScriptによる全ワークスペース検査
Contributor quick start3コマンドで検証を開始
npm install
npm test
npm run lintRoadmap
人が分かるUIから、道具もつながる会計基盤へ
操作説明を増やすのではなく、今のUIの分かりやすさを守ったまま、外側の接続点を育てます。 未実装の項目はNextまたはExploreとして明示します。
Now利用可能
会計を、閉じたアプリから再利用できる部品へ
- ブラウザで完結する複式簿記と帳票生成
- ローカル保存・クラウド保存を選べる構成
- 交換可能なバックエンドとDBアダプター
- 別環境へ持ち出せる安定したアーカイブ形式
Next次に進める
人とツールが、同じ契約で安全につながる
- HTTPバックエンドの参照アダプターを公開
- 明示的なコマンドで操作できるCLIを整備
- AI提案を人が確認してから反映する操作境界
- 変更理由を追跡できる監査情報の設計
Explore探索中
会計ソフトを選ぶから、自分用に組み立てるへ
- 業種や運用に合わせた第三者バンドル
- 外部サービスと接続するコミュニティ製アダプター
- 匿名・ローカル優先を保った自動化
- 会計データを閉じ込めない相互運用エコシステム
For tools & agents
機械にも同じプロジェクト情報を渡す
人向けページと同じ事実を、JSONと簡潔なMarkdownでも公開しています。機能の推測ではなく、 公式ソースと契約文書を起点に参照できます。