RFC: Use WordPress as your app's data store
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 25/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- graphql, json, typescript, wordpress
調査の方向性
This is an RFC describing a multi-stage data store; start by reading the linked storage and REST work in issue #2674. The RFC lays out follow-on work for collection registration, WPGraphQL support, and a JS client, but does not identify implementation files or tests. Before taking it on, check the project discussion for a decided scope; done would need to be defined for one specific stage.
索引モデルが issue の本文から書いたものです。
説明
Idea
Faustabase (working name) is a faster way to give your app a database, using the WordPress site you already have. Turn on FaustWP's document store, save JSON from your app, and never silently lose a write.
flowchart TD
App["Your app"] -->|REST or GraphQL| WP["FaustWP<br/>checks version"]
WP --> T[("wp_faust_<br/>documents")]
Admin["wp-admin<br/>Tools screen"] -.->|read-only| T
Why
- You don't need a second database like Firebase or Supabase, or a custom plugin.
- Normal WordPress and WPGraphQL saves let the last write win. Faustabase rejects a stale write with a 409.
- Site owners can see the data in wp-admin, and WordPress users and roles control access.
Decided
-
Documents live in one dedicated table, grouped into collections like Firestore. History can be added later without migrating data.
-
REST and WPGraphQL can both get, update, delete, list and add documents, with the same version check.
-
Collections are admin-only until you register them. Registering a collection sets its access mode and a JSON Schema that WordPress validates, which is how a form or waitlist accepts public writes:
register_faust_collection( 'waitlist', array( 'access' => 'public-create', // or 'admin' (default) or 'owner' 'schema' => array( 'type' => 'object', 'required' => array( 'email' ) ), ) ); -
A JS client for app servers would look roughly like this:
const ref = store.collection('preferences').doc('user-42'); await ref.update((d) => ({ ...d, theme: 'dark' })); // retries on conflict
Plan
- Storage and REST: #2674.
register_faust_collectionwith access modes and schemas.- WPGraphQL support.
- The JS client.
Realtime, complex queries and high write volume are out of scope.
- 主要言語
- TypeScript
- スター
- 1.6k
- フォーク
- 157
- 平均マージ
- 1日 5時間
- マージ済み PR(30日)
- 126
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
wpengine/faustjs のほかの issue
-
Add WordPress-style body classes to Faust pages対応中かも @josephfusco が 1 日前に担当しました。 オープン[Area] Core [Type] Enhancement
wpengine/faustjs#2682 · コメント 1 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
RFC: Raise the minimum Node.js version to 22 in the next major対応中かも @josephfusco が 1 日前に担当しました。 オープン[Area] Compatibility Breaking Change Needs Discussion
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
メンテナーはふだん 1 日以内に返信
-
[Area] Core dependencies
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
wpengine/faustjs#2192 · リアクション 5 件 ·
メンテナーはふだん 1 日以内に返信
-
[Area] Core [Area] WordPress Plugin [Type] Bug Needs Reproduction
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
wpengine/faustjs#1933 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Multiple Queries support should support multiple of the same query with different variables/optionsオープン[Area] Core [Type] Enhancement
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
wpengine/faustjs#1742 · コメント 7 件 ·
メンテナーはふだん 1 日以内に返信
wpengine/faustjs の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
phivk/rubiks-lab#33 ·
メンテナーはふだん 1 日以内に返信
-
BUG:Edit Album strips spaces from the password so albums with a leading/trailing space in the password can't be edited対応中かも @ManyaJain111 が今日担当しました。 オープンbug enhancement possible-duplicate
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
AOSSIE-Org/PictoPy#1637 · コメント 4 件 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
chaitin/MonkeyCode#1437 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
area:cards enhancement migration ready-for-agent
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
fil-donadoni/tolaria#6309 ·
メンテナーはふだん 1 日以内に返信