GS: Google Sheets integration project
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 20/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 静か
- 技術スタック
- typescript
- 領域
- web-dev
調査の方向性
docs/design/google-sheets/README.md の設計カタログから始め、実装前に #397 を確認してください。#399 から #405 までの依存関係の順序に従い、OAuth、Picker、スナップショットのエクスポートから着手してください。完了とは、障害発生時にも安全な refresh、capability によって制御される append モード、カタログの対応する更新を含め、列挙された受け入れ基準を満たすことです。
索引モデルが issue の本文から書いたものです。
説明
Summary
Implement the browser-only Google Sheets integration defined by the repository design catalog introduced in #397.
Design entry point:
Product scope
- One-time snapshot export.
- Create or attach a linked spreadsheet.
- Manual refresh through a hyperlink that launches the ClickHouse-hosted SPA.
- Failure-safe full refresh through staging.
- Large-result streaming and quota handling.
- Append-only refresh for validated ClickHouse 26.8+ MergeTree-family sources using per-partition
_block_number/_block_offsetcheckpoints. - Refresh history, repair, and unlink workflows.
Non-goals
- Scheduled/background refresh.
- Refresh while SQL Browser is closed.
SELECT ... STREAM.- Updates/deletes/upserts in append mode.
- Google Docs, Apps Script, service accounts, or an application backend.
- Strict distributed locking between collaborators.
Project acceptance criteria
- Existing behavior is unchanged when Google Sheets configuration is absent.
- Google and ClickHouse authorization remain independent and browser-only.
- Linked refresh preserves previous committed data on every pre-publication failure.
- No silent truncation or silent append-to-full fallback occurs.
- Managed resources are identified by stable IDs and metadata, not names.
- Append mode is capability-gated and invalidates safely.
- Design changes are updated in the catalog in the same PR as implementation changes.
Implementation sequence
- #399 — Google OAuth, Picker, and snapshot export
- #400 — Linked-sheet resource and ClickHouse binding storage
- #401 — Managed spreadsheet layout and manual refresh route
- #402 — Failure-safe full refresh and large-result transfer
- #403 — ClickHouse 26.8+ commit-cursor append refresh
- #404 — Refresh history, repair, and unlink workflows
- #405 — End-to-end Google Sheets integration test suite
Dependency outline
#399
↓
#400
↓
#401
↓
#402
├──→ #403
└──→ #404
↓
#405
Design baseline
#397 is documentation-only and should be reviewed before feature implementation begins.
- 主要言語
- TypeScript
- スター
- 8
- フォーク
- 2
- 平均マージ
- 1時間 34分
- マージ済み PR(30日)
- 6
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
Altinity/altinity-sql-browser のほかの issue
-
inbox
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
Altinity/altinity-sql-browser#605 ·
-
inbox
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
Altinity/altinity-sql-browser#509 ·
-
inbox
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
Altinity/altinity-sql-browser#489 ·
-
flamegraph オープンenhancement
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
Altinity/altinity-sql-browser#684 ·
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 68/100
Altinity/altinity-sql-browser#680 · コメント 2 件 ·
Altinity/altinity-sql-browser の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
area:tools bug good first issue help wanted priority:P2
難易度 2/5 1〜3時間 初心者へのやさしさ 90/100
TaewoooPark/Motifcode#14 ·
-
bug 🐞
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
[Bounty proposal] fix(web): memory insights count an evening memory on the next day ($25 proposed) オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
BasedHardware/omi#15320 ·
-
難易度 2/5 半日 初心者へのやさしさ 78/100
vercel/vercel-plugin#199 ·