Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

EitoFukuda/kintone-aggregation-dashboard

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kintone Aggregation Dashboard

kintone上の複数アプリを横断集計し、ダッシュボード表示する無料のJSカスタマイズ

krewDashboard(月額1万円〜)と同等の集計機能を、無料のJavaScriptカスタマイズで実現します。 有料プラグインの代替として、kintoneユーザーコミュニティに貢献するOSSプロジェクトです。

Dashboard Screenshot

特徴

  • ExcelのCOUNTIFS相当の集計 - 期間 + 任意条件でレコードをカウント
  • 複数アプリ合算 - 複数アプリのデータを1つの列に合算
  • サブテーブル対応 - テーブル内フィールドも展開して集計
  • パーセンテージ・計算式 - 列間の四則演算、%自動算出
  • 期間プリセット - 今日/昨日/今週/先週/今月/先月/カスタム
  • テンプレート保存 - 集計表の形式を保存し、開くだけで即表示
  • GUI条件ビルダー - コード不要でフィルタ条件を視覚的に設定
  • 権限制御 - レコードアクセス権 + グループベースのデータフィルタリング
  • CSV一括インポート - 設定をCSVで管理、Claude for Excelとの連携も可能

krewDashboard との比較

機能 krewDashboard 本プロジェクト
料金 月額1万円〜 無料
COUNTIFS集計 あり あり
複数アプリ横断 あり あり
サブテーブル集計 限定的 行レベルで対応
条件設定 GUI GUIビルダー搭載
計算式(列間演算) あり あり
アクセス制御 標準機能連携 グループフィルタ対応
カスタマイズ性 プラグイン設定のみ ソースコード改変自由

クイックスタート

1. kintoneアプリを作成

2つのアプリを作成します(詳細は セットアップガイド を参照):

  • 集計列設定アプリ - テンプレート・列定義・データソース・条件を管理
  • 集計ダッシュボードアプリ - テンプレート選択・期間指定・集計結果の表示

2. アプリIDを設定

// src/config/constants.js
export const CONFIG_APP_ID = 999; // ← 集計列設定アプリのアプリIDに変更

3. ビルド

npm install
npm run build

4. kintoneにアップロード

  • dist/dashboard.js → ダッシュボードアプリの「JS/CSSカスタマイズ」
  • dist/settingsApp.js → 集計列設定アプリの「JS/CSSカスタマイズ」

5. 集計テンプレートを設定

集計列設定アプリでレコードを作成し、集計テンプレートを定義します。 設定アシスタント(GUI)が表示されるので、直感的に設定できます。

詳しくは セットアップガイド をご覧ください。

アーキテクチャ

集計列設定アプリ                集計ダッシュボードアプリ
┌──────────────┐            ┌──────────────────┐
│ テンプレート定義 │            │ テンプレート選択     │
│ 列名・条件・権限 │◄──参照──►│ 期間指定・結果表示    │
│ データソース設定 │            │                    │
└──────────────┘            └──────────────────┘
                                     │
                              kintone REST API
                                     │
                    ┌────────────┬────────────┐
                    ▼            ▼            ▼
              対象アプリA    対象アプリB    対象アプリC

技術スタック

  • JavaScript (ES2017+)
  • esbuild でバンドル
  • kintone REST API でデータ取得
  • 外部ライブラリ依存なし(esbuildは開発時のみ)

ディレクトリ構成

src/
├── config/constants.js       # 定数・初期設定値
├── api/kintoneApi.js         # kintone REST API ラッパー
├── aggregation/aggregator.js # 集計ロジック
├── dashboard/
│   ├── dashboard.js          # メインイベントハンドラ
│   ├── renderer.js           # 集計結果テーブルの描画
│   └── datePresets.js        # 期間プリセット計算
├── settings/
│   ├── settingsApp.js        # 設定アシスタントUI
│   ├── settingsHelper.js     # ヘルプパネル
│   └── components/           # UIコンポーネント
└── utils/
    ├── queryBuilder.js       # kintoneクエリ構築
    ├── conditionEvaluator.js # 行レベル条件評価
    └── formulaParser.js      # 計算式パーサー

Contributing

Contributionを歓迎します!

  1. Fork してください
  2. Feature branch を作成 (git checkout -b feature/amazing-feature)
  3. 変更をコミット (git commit -m 'Add amazing feature')
  4. Branch に push (git push origin feature/amazing-feature)
  5. Pull Request を作成

開発環境

git clone https://github.com/EitoFukuda/kintone-aggregation-dashboard.git
cd kintone-aggregation-dashboard
npm install
npm run build

コーディングルール

  • kintone JS カスタマイズの制約を遵守(グローバル汚染禁止)
  • kintone REST API のレート制限に注意(同時リクエスト数を制御)
  • レコード取得は500件制限があるため、ページング処理を実装

ロードマップ

  • グラフ・チャート表示
  • エクスポート機能(CSV/Excel)
  • リアルタイム自動更新
  • 多言語対応(English)
  • プラグイン形式での配布

License

MIT

Acknowledgements

  • kintone - サイボウズ株式会社
  • esbuild - 高速JavaScriptバンドラー

About

kintone上の複数アプリを横断集計するダッシュボード(無料JSカスタマイズ)

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.