Skip to content

BonoJovi/KakeiBonByRust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

950 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.2.0を正式リリースいたしました!

Ver.2.2.0 は、トースト通知・バリデーション基盤・alert→toast 移行を一括適用するマイナーリリースです。従来の alert() によるブロッキングダイアログを全管理画面でノンブロッキングな toast 通知に置き換え、フォームの入力文字数をリアルタイムで可視化するバリデーション基盤を全画面に展開しました。

主な新機能・改善:

  • トースト通知コンポーネント: ノンブロッキングな成功・エラー・情報メッセージを画面右上に表示する showToast() ユーティリティを導入。画面操作をブロックしない UX を実現
  • 統一バリデーション基盤: 文字数上限のあるすべての入力フィールドに「現在文字数/上限」カウンターをリアルタイム表示。上限超過時は赤色表示でユーザーに即時フィードバック
  • 全管理画面への alert → toast 移行: アカウント・取引・カテゴリ・店舗・メーカー・商品管理の alert() 呼び出し 20+ 箇所を showToast() に置き換え
  • ログイン画面のオートフォーカス: ログイン画面へ遷移するたびにユーザー名フィールドが自動フォーカスされ、即座にキーボード入力が可能に
  • ヘッダー合計再計算ダイアログのデフォルト変更: デフォルトを「現在の合計を維持」に変更し、意図せず合計が書き換わる誤操作を防止

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

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

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

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

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

2026-05-19 (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.2.0!

Ver.2.2.0 is a minor release that introduces the toast notification system, unified bounded-field validation, and a full alert→toast migration in one sweep. Every alert() call across all management screens has been replaced with non-blocking toast notifications, and a live character-counter validation layer has been rolled out to every bounded input field.

Key features and improvements:

  • Toast notification component: Introduced showToast() utility displaying non-blocking success, error, and info messages in the top-right corner. Eliminates UI-blocking dialogs across the entire app
  • Unified bounded-field validation: Added real-time character counter ("current / limit") to every input field with a database-level character limit. Counter turns red on overflow for immediate visual feedback
  • alert() → toast migration across all screens: Replaced 20+ alert() calls in account, transaction, category, shop, manufacturer, and product management screens with showToast()
  • Login screen autofocus: Username field is automatically focused on every entry to the login screen, enabling immediate keyboard input
  • Header recalc dialog default changed: Default changed to "keep current total" to prevent accidental overwrite of manually adjusted header totals

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 Version] Ver.2.3.0 will reuse the recurrence logic from Ver.2.1.0 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-19 (JST) Written by Yoshihiro NAKAHARA


⚠️ Errata / 訂正のお知らせ

過去に外部公開したコンテンツ(記事・LinkedIn 投稿・社内ドキュメント等)で、KakeiBon の規模を 「v1.0.0 リリース時 35,000 行」 と表記した箇所がありますが、これは 誤り です。

v1.0.0 時点の実数(count_lines.sh で計測、2026-05-05 確認):

  • Code total: 10,394 行 / Grand total: 10,396 行

「35,000 行」は v1.0.2 時点の Code total(38,562 行)に近く、v1.0.0 時点の規模と認識していた数値が、実際には v1.0.2 時点のものだった可能性が高いです。同じ誤りに基づく派生数値(「11.67 倍生産性」「35,000 行 ÷ 1ヶ月」など)も同様に正しくありません。

全タグの正確な行数履歴は docs/etc/CODE_LINE_HISTORY.md を一次情報源としてください。

開示 / Disclosure

この誤認の発生について、可能性として 発信者(中原 祥博 / BonoJovi)の統合失調症由来の認知の歪み(誤認) が関与した可能性があります。発信者は統合失調症の診断を受けて通院中であり(Message from Developer でも触れている通り)、思い込みや認識のずれが数値の誤計上につながった可能性は否定できません。

今後は数値を引用する際、必ず count_lines.shCODE_LINE_HISTORY.md で再計測を行います。本訂正をもって、過去の公開数値に対する正規の修正記録とします。


Some past externally-published content (articles, LinkedIn posts, internal docs) stated KakeiBon's size as "35,000 lines at the v1.0.0 release" — this figure is incorrect.

Actual v1.0.0 figures (measured via count_lines.sh on 2026-05-05):

  • Code total: 10,394 lines / Grand total: 10,396 lines

The "35,000" figure is closest to the v1.0.2 code total (38,562 lines), suggesting it was a v1.0.2-era number that was misattributed to v1.0.0. Derived claims (e.g. "11.67× productivity", "35,000 lines / month") are wrong for the same reason.

The canonical per-tag history is in docs/etc/CODE_LINE_HISTORY.md.

Disclosure

The author (Yoshihiro NAKAHARA / BonoJovi), who is openly diagnosed with schizophrenia and currently undergoing treatment (as also referenced in the Developer Message above), acknowledges that cognitive distortions associated with the condition may have contributed to this misattribution. Going forward, all cited figures will be re-measured against count_lines.sh and CODE_LINE_HISTORY.md before publication. This errata serves as the canonical correction record for any prior published numbers.


📸 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 / 総閲覧数 185
📦 Total Clones / 総クローン数 1,143

Last Updated / 最終更新: 2026-05-21 01:47 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 973 tests passing (Rust: 350, JS: 623)
i18n Resources / 翻訳 JSON-based 984 resources (505 unique keys, 2 languages)
Code Lines / コード行数 Total / 合計 ~49,789 lines (Rust: 20,173, JS: 11,796, HTML: 4,011, CSS: 6,683, SQL: 7,126)

[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) / バックエンド:    350 passing ✅
Frontend (JavaScript) / フロント:  623 passing ✅
Total Tests / 総テスト数:          973 passing ✅
Success Rate / 成功率:            100%

Recent Improvements / 最近の改善:

  • Test Coverage Expansion / テストカバレッジ拡大 (2026-05-19)
    • Total test count increased from 800 to 973 tests
    • Backend tests expanded from 201 to 350 tests (recurring rule logic + bounded-field validation)
    • Frontend tests expanded from 599 to 623 tests (toast component + validation coverage)

Test Count Methodology / テスト件数計測方法:

  • Current count (973): Counts only actual executable test cases (Rust: 350, JavaScript: 623)
  • 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