Skip to content

BonoJovi/KakeiBonByRust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

850 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

[Book] KakeiBon by Rust(家計簿)

A Modern Household Budget App with Focus on Readability and Usability
見やすさと使いやすさを追求した、モダンな家計簿アプリケーション

Version Rust Tauri Tests License Ko-fi

[J][P] 日本語詳細 | [G][B] English Details


[Love] Message from Developer / 開発者からのメッセージ

愛すべきKakeiBonユーザの皆さんへ

いつもKakeiBonに気を留めていただき、誠にありがとうございます。 プロジェクト発案者のBonoJovi(Yoshihiro NAKAHARA)です。

Ver.2.0.0を正式リリースいたしました!

Ver.2.0.0は、税計算ロジックを全面的に刷新したメジャーバージョンアップです。 従来は明細単位で税計算→丸めを行ってから集計していたため、丸め誤差が累積し、集計値がレシートの実額と一致しないケースがありました。本リリースで、計算式を「1取引内では税率ごとに SUM(税抜)→税計算→ヘッダーの丸め方式で丸め→税率合算」「取引をまたぐ集計では既に整数化された値をそのまま SUM」に統一し、丸め誤差を解消しました。

主な変更点は以下のとおりです。

  • 集計クエリの全面書き換え(重複計上バグ+累積誤差解消)
  • ヘッダー金額の自動再計算と確認ダイアログ
  • 税方式変更時の合計欄リアルタイムプレビュー
  • ダッシュボードに「データメンテナンス」セクション(一括再計算+ワンクリックロールバック)
  • パターンマッチ式 recalc(ユーザー入力の合計値を正として税方式を補正)
  • 口座別残高スナップショット(突き合わせ検証用)

AMOUNT のセマンティクスが「税抜固定」になる API レベルの破壊的変更を含むため、メジャーバージョンを v2.0.0 に上げています。データベースのスキーマ変更はないため、既存ユーザーは特別な移行作業なしでアップデートしていただけます。

安定版リリースをご利用になりたい方は、mainブランチをご参照ください。

現在ご覧いただいているdevブランチは開発版となり、次期バージョンの機能を開発中です。 最新の機能をいち早く試してみたい方は、こちらのdevブランチをお使いください。

【次期バージョン予定】 Ver.2.1.0 では「繰り返し予定入出金」(n年/n月/n週/n日毎の繰り返しルールで予定取引を一括登録)を実装予定です。続く Ver.2.2.0 では、繰り返しロジックを流用した「集計起算日カスタマイズ」(給料日や年金振込日に合わせて月次サイクルを設定)を実装予定です。

今後も引き続き機能拡充を進めていく予定です。 GitHubのissueやeメールでのメッセージも受け付けていますので、応援メッセージや将来的に実装してほしい機能など、ちょっとしたことでも良いのでご連絡いただければ幸いです。

それでは、引き続きKakeiBonをご愛顧頂ますよう、お願い申し上げます。

2026-05-01 (JST) Written by Yoshihiro NAKAHARA


To All Beloved KakeiBon Users

Thank you for your continued interest in KakeiBon. I'm BonoJovi (Yoshihiro NAKAHARA), the project initiator.

We have officially released Ver.2.0.0!

Ver.2.0.0 is a major release with a complete overhaul of the tax calculation logic. The previous approach (compute-then-round per detail line, then aggregate) accumulated rounding errors, occasionally causing aggregated totals to disagree with receipt amounts. The formula has been unified to: within a single transactionSUM(net) → tax calc → round per the header's rounding mode → sum across rates; across transactionsSUM the already-rounded integer values without further rounding.

Key changes include:

  • Aggregation queries fully rewritten (eliminates the double-counting bug and accumulated rounding error)
  • Auto-recalculation of header totals with a confirmation prompt
  • Real-time preview of the total field on tax setting change
  • New "Data Maintenance" section on the dashboard (bulk recalc + one-click rollback)
  • Pattern-match recalc (treats user-entered totals as authoritative and corrects the tax method)
  • Per-account balance snapshot (for reconciling against source data)

Because AMOUNT semantics now fixes the value as the net (tax-exclusive) amount — an API-level breaking change — the major version has been bumped to v2.0.0. There is no database schema migration, so existing users can update without manual data migration.

If you would like to use the stable release version, please refer to the main branch.

The dev branch you are currently viewing is the development version, where we are working on features for the next release. If you want to try the latest features early, please use this dev branch.

[Next Versions] Ver.2.1.0 will introduce recurring scheduled transactions — register one rule (yearly / monthly / weekly / daily intervals) to auto-expand scheduled income & expenses across a date range. Ver.2.2.0 will reuse that recurrence logic to add aggregation cycle start day customization (align the monthly cycle with payday or pension transfer dates).

We will continue to enhance the features incrementally, so please look forward to continuous improvements. We welcome messages via GitHub issues or email, whether it's words of encouragement or suggestions for features you'd like to see in the future — any feedback is appreciated.

Thank you for your continued support of KakeiBon.

2026-05-01 (JST) Written by Yoshihiro NAKAHARA


📸 Screenshots / スクリーンショット

Dashboard / ダッシュボード Edit Transaction / 入出金編集
Dashboard Edit Transaction
Edit Detail / 明細編集 User Management / ユーザー管理
Edit Detail User Management

[Handshake] Join Our Community / コミュニティに参加

Help make KakeiBon accessible to users worldwide! KakeiBonを世界中のユーザーに届けるお手伝いをしてください!

We welcome all types of contributions - not just code! Whether you're a developer, translator, or user, there's a way for you to contribute. あらゆる形の貢献を歓迎します—コードだけではありません!開発者、翻訳者、ユーザーのいずれであっても、貢献する方法があります。


[World] Translators Wanted! / 翻訳者募集!

No programming experience needed! / プログラミング経験不要!

Help make KakeiBon available in your language: あなたの言語でKakeiBonを利用可能にするお手伝いをしてください:

  • Currently Supported / 現在サポート: Japanese (ja), English (en)
  • [Globe] Seeking / 募集中: Chinese (zh), Korean (ko), French (fr), German (de), Spanish (es), and more!

How to contribute:

  • Add support for a new language / 新しい言語のサポートを追加
  • Improve existing translations / 既存の翻訳を改善
  • Review translation accuracy / 翻訳の正確性をレビュー

[Book] Translation Guide | 翻訳ガイド 🆕 Submit Translation Request


[Test] Testers Wanted! / テスター募集!

No programming experience needed! / プログラミング経験不要!

[Party] NEW: v1.0.7 Multi-Platform Binaries Now Available! [Party] 新着: v1.0.7でマルチプラットフォームバイナリが利用可能に!

We've just released Windows and macOS binaries through our new CI/CD pipeline, but we urgently need real hardware testing as the developer doesn't have access to Windows/Mac environments!

CI/CDパイプライン導入によりWindows/macOSバイナリのリリースを開始しましたが、開発者がWindows/Mac環境を持っていないため、実機での動作確認が緊急に必要です

Platform Status:

  • Linux: Verified and tested by developer / 開発者により検証済み・テスト済み
  • ⚠️ Windows: Binary available but untested on real hardware! / バイナリは利用可能だが実機未テスト!
  • ⚠️ macOS (Intel & Apple Silicon): Binary available but untested on real hardware! / バイナリは利用可能だが実機未テスト!

What we need from you: お願いしたいこと:

  • [Search] Download and test the latest release on your Windows/Mac / Windows/Macで最新リリースをダウンロード&テスト
  • [Bug] Report any bugs or issues you encounter / 遭遇したバグや問題を報告
  • ✅ Confirm if basic features work correctly / 基本機能が正常に動作するか確認
  • [Comment] Share your experience (UI/UX feedback welcome!) / 使用感を共有(UI/UXフィードバック歓迎!)
  • 🆕 Review test case validity - Check if our 800+ tests make sense! / テストケースの妥当性をレビュー - 800件以上のテストが妥当かチェック!

Download: Latest Release

[Book] Test Overview | テスト概要 [BlueBook] Backend Test Index (201 tests) | バックエンドテストインデックス (201件) [GreenBook] Frontend Test Index (599 tests) | フロントエンドテストインデックス (599件) 🆕 Submit Testing Feedback


[Idea] Feature Requests & Feedback / 機能リクエスト & フィードバック

Have ideas to make KakeiBon better? KakeiBonをより良くするアイデアはありますか?


[PC] Developers / 開発者

For code contributions: コード貢献について:


Every contribution, no matter how small, makes KakeiBon better for everyone. どんなに小さな貢献でも、KakeiBonをみんなにとってより良いものにします。

Thank you for your support! / ご支援ありがとうございます!


[Note] Technical Articles / 技術記事

Read more about AI-assisted development and other technical insights on Qiita!
AI支援開発やその他の技術的知見についてQiitaで詳しく紹介しています!

We share articles not only about KakeiBon development but also about AI collaboration techniques, design philosophy, and various technical topics.
KakeiBon開発だけでなく、AI協働手法、設計思想、その他さまざまな技術トピックについて記事を公開しています。

[Point] Visit Qiita Profile / Qiitaプロフィールを見る


[Bookmark] Table of Contents / 目次


[WIP] Development Status / 開発状況

[Fire] Actively Under Development / 鋭意開発中

Development is progressing smoothly, and we strive to update daily!
開発は順調に進んでおり、できるだけ日々更新するようにしています!

Project Started / プロジェクト開始: 2025-10-22 (JST) Last Updated / 最終更新: 2026-01-08 (JST)

[Robot] AI-Assisted Development / AI支援開発
This project's source code and documentation are 100% generated with the assistance of generative AI (GitHub Copilot, Claude), supervised and reviewed by the developer. This demonstrates the potential of AI-assisted development.
本プロジェクトのソースコードおよびドキュメントは、生成AI(GitHub Copilot、Claude)の支援により100%生成され、開発者による監修とレビューを経ています。これは、AI支援開発の可能性を示す事例です。

[Chart] See AI Development Metrics & Quality Analysis →
AI開発の生産性と品質分析を見る →

📊 Repository Statistics / リポジトリ統計

📈 Daily Traffic / 日次トラフィック

Daily Traffic Stats

📊 Cumulative Traffic / 累積トラフィック

Cumulative Traffic Stats

Metric Count
👁️ Total Views / 総閲覧数 105
📦 Total Clones / 総クローン数 1,462

Last Updated / 最終更新: 2026-05-01 01:43 UTC


[Books] Legacy Version / 前身プロジェクト

Looking for the stable Lazarus/Free Pascal version? / 安定版(Lazarus/Free Pascal版)をお探しですか?

[Point] KakeiBon (Original) - すぐに使える完成版!

The original KakeiBon is a fully functional household budget app ready to use right now!
元祖KakeiBonは、今すぐ使える完成版の家計簿アプリです!

Key Differences / 主な違い:

  • Stable & Production-Ready / 安定版・本番利用可能
  • [Package] Pre-built Binaries Available / ビルド済みバイナリありReleases
  • [J][P] Japanese Interface Only / 日本語インターフェース専用
  • [Desktop]️ Linux & Windows Support / Linux & Windows 対応
  • [Text] Large Fonts & Accessibility / 大きな文字とアクセシビリティ

Why Rust Version? / なぜRust版?

This Rust rewrite offers:

  • Better Performance / より高速
  • [Lock] Enhanced Security (Argon2 + AES-256-GCM) / 強化されたセキュリティ
  • [Globe] Full Multilingual Support / 完全多言語対応
  • [Art] Modern Architecture / モダンなアーキテクチャ
  • [Crystal] Future Expandability / 将来の拡張性

[Idea] Try both and choose what works best for you! / 両方試して、お好みの方をお使いください!


✨ Key Features / 主な特徴

[Art] NOT Vibe Coding / NOTバイブコーディング

Built with proper planning and documentation first, not vibes
雰囲気ではなく、きちんとした計画とドキュメント作成を先に行う開発スタイル

[User] Clear User-First Policy / 明確なユーザーファーストポリシーによる設計

Every feature is designed with explicit user needs and usability in mind
すべての機能は明確なユーザーニーズと使いやすさを念頭に置いて設計されています

[Text] Large, Easy-to-Read Text / 大きな文字で見やすい

Designed with high visibility in mind - comfortable for long-term use
視認性を重視した設計で、長時間の使用でも目が疲れにくい

[Build]️ Enterprise-Grade Architecture / エンタープライズグレードのアーキテクチャ

Session-Based Authentication throughout all 52 API functions
セッションベース認証を全52個のAPI関数で実装

  • [Key] Secure Session Management / セキュアなセッション管理
  • [Users] User Isolation / ユーザーデータの完全分離
  • Zero Hardcoded User IDs / ハードコードされたユーザーID排除
  • [Test] 800 Tests (100% Pass) / 800テスト(100%合格)

[Target] Intuitive User Interface / 直感的な操作性

Simple and clear UI that anyone can master quickly
誰でもすぐに使いこなせる、シンプルで分かりやすいUI

♿ Accessibility Support / アクセシビリティ対応

  • Font Size Adjustment: Small/Medium/Large/Custom (10-30px)
    フォントサイズ調整: 小/中/大/カスタム(10-30px)
  • Keyboard Navigation: Fully supported
    キーボードナビゲーション: 完全対応
  • Focus Indicators: Clear visual feedback
    フォーカスインジケーター: 明確な視覚フィードバック

[Globe] Multilingual Support / 多言語対応

Switch between Japanese and English seamlessly
日本語・英語の切り替えが可能

[Lock] Strong Security / 強固なセキュリティ

  • Argon2id password hashing / パスワードハッシュ化
  • AES-256-GCM data encryption / データ暗号化
  • Role-based access control / ロールベースのアクセス制御

[Rocket] Current Features / 実装済み機能

Feature / 機能 Description / 説明 Status / ステータス
[Key] Session Management
セッション管理
In-memory session state management
メモリ内セッション状態管理
✅ Complete
完成
[Money] Category Management
費目管理
Hierarchical category system (Major/Middle/Minor)
大分類・中分類・小分類の階層的管理
✅ Complete
完成
[Users] User Management
ユーザー管理
Multi-user support (Admin/General)
マルチユーザー対応(管理者/一般)
✅ Complete
完成
[Bank] Account Management
口座管理
Account master data management
口座マスタ管理
✅ Complete
完成
[Shop] Shop Management
店舗管理
Shop master data management
店舗マスタ管理
✅ Complete
完成
[Factory] Manufacturer Management
メーカー管理
Manufacturer master data with IS_DISABLED feature
IS_DISABLED機能付きメーカーマスタ管理
✅ Complete
完成
[Package] Product Management
商品管理
Product master data with manufacturer linkage
メーカー連携付き商品マスタ管理
✅ Complete
完成
[World] Multilingual
多言語対応
Dynamic language switching (JP/EN) - 992 resources
日本語・英語の動的切り替え - 992リソース
✅ Complete
完成
[Fix] Customization
カスタマイズ
Font size, language preferences
フォントサイズ、言語設定
✅ Complete
完成
[Note] Transaction Management
入出金管理
Header-level CRUD, filters, pagination
ヘッダレベルCRUD、フィルター、ページネーション
✅ Complete
完成
[Receipt] Transaction Details
入出金明細
CRUD operations with smart tax calculation, automatic rounding detection
スマート税計算付きCRUD操作、端数処理自動検出
✅ Complete
完成
[Chart] Reports
集計・レポート
Monthly/annual summaries, graphs
月次・年次レポート、グラフ
[WIP] In Progress
開発中

[PC] Technology Stack / 技術スタック

Category / カテゴリ Technology / 技術 Details / 詳細
Frontend / フロントエンド Vanilla JavaScript + HTML5 + CSS3 ES6 Modules
Backend / バックエンド Rust + Tauri v2.8.5
Database / データベース SQLite WAL mode
Security / セキュリティ Argon2id + AES-256-GCM Password hashing + Data encryption
Testing / テスト Jest + Cargo Test 800 tests passing (Rust: 201, JS: 599)
i18n Resources / 翻訳 JSON-based 992 resources (496 unique keys, 2 languages)
Code Lines / コード行数 Total / 合計 ~35,478 lines (Rust: 13,870, JS: 8,810, HTML: 3,355, CSS: 6,109, SQL: 3,334)

[Package] Installation / インストール

Prerequisites / 前提条件

  • Rust 1.70+ (Install via rustup / rustupでインストール)
  • Node.js 18+ (for Tauri CLI / Tauri CLI用)

Build & Run / ビルド・実行

# Clone repository / リポジトリをクローン
git clone https://github.com/BonoJovi/KakeiBonByRust.git
cd KakeiBonByRust

# Run in development mode / 開発モードで起動
cargo tauri dev

# Production build / プロダクションビルド
cargo tauri build

[Test] Test Results / テスト結果

Backend (Rust) / バックエンド:    201 passing ✅
Frontend (JavaScript) / フロント:  599 passing ✅
Total Tests / 総テスト数:          800 passing ✅
Success Rate / 成功率:            100%

Recent Improvements / 最近の改善:

  • Test Coverage Expansion / テストカバレッジ拡大 (2025-12-07)

    • Total test count increased from 527 to 800 tests
    • Frontend tests expanded from 326 to 599 tests
    • Enhanced test coverage for aggregation features
    • Comprehensive validation of transaction processing logic
  • Security Updates / セキュリティアップデート (2025-12-07)

    • Applied security patches to dependent libraries
    • Enhanced overall system security and stability
  • Session Management Integration / セッション管理統合 (2025-11-30)

    • All 52 API functions now use session-based authentication
    • Enhanced security with proper user isolation
    • Removed hardcoded user IDs throughout the codebase

Test Count Methodology / テスト件数計測方法 (Updated 2025-12-07):

  • Current count (800): Counts only actual executable test cases (Rust: 201, JavaScript: 599)
  • Methodology / 方法: Industry-standard test counting (test() and it() blocks only)
  • Note / 注意: Test count increases reflect actual new test implementations, not measurement changes テスト件数の増加は、実際の新規テスト実装を反映しています

See Test Overview for details / 詳細は テスト概要 を参照


[Books] Documentation / ドキュメント

For Users / ユーザー向け

For Developers / 開発者向け

Core Guides / コアガイド

API Documentation / API ドキュメント

UI Documentation / UI ドキュメント

Feature Implementation / 機能実装

Database & Security / データベース・セキュリティ

Design Documents / 設計ドキュメント

Project Information / プロジェクト情報

  • [Users] Project Participants / プロジェクト参加者

[Handshake] Contributing / コントリビューション

Contributions are welcome! / プルリクエストを歓迎します!

  1. Fork this repository / このリポジトリをフォーク
  2. Create a feature branch / フィーチャーブランチを作成
    git checkout -b feature/AmazingFeature
  3. Commit your changes / 変更をコミット
    git commit -m 'Add some AmazingFeature'
  4. Push to the branch / ブランチにプッシュ
    git push origin feature/AmazingFeature
  5. Open a Pull Request / プルリクエストを開く

See CONTRIBUTING.md for details / 詳細は CONTRIBUTING.md を参照


[Doc] License / ライセンス

This project is licensed under the terms in the LICENSE file.
このプロジェクトは LICENSE の下でライセンスされています。


[Star] Development Roadmap / 開発ロードマップ

  • User management / ユーザー管理機能
  • Category management / 費目管理機能
  • Multilingual support / 多言語対応
  • Accessibility features / アクセシビリティ機能
  • Transaction management / 入出金データ管理
  • Monthly/annual reports / 月次・年次集計
  • Data export (CSV) / データエクスポート(CSV)
  • Backup & restore / バックアップ・リストア

About

Household Budget App “KakeiBonByRust” built with Rust Language.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors