RFC: Use WordPress as your app's data store
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- graphql, json, typescript, wordpress
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- TypeScript
- Stelle
- 1.6k
- Fork
- 157
- Merge medio
- 1g 4h
- PR unite (30g)
- 133
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di wpengine/faustjs
-
Apollo Client 4 SPIKEAperta[Area] Core dependencies
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
wpengine/faustjs#2192 · 5 reazioni ·
I maintainer di solito rispondono entro 1 giorno
-
[Area] Core [Area] WordPress Plugin [Type] Bug Needs Reproduction
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
wpengine/faustjs#1933 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Multiple Queries support should support multiple of the same query with different variables/optionsAperta[Area] Core [Type] Enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
wpengine/faustjs#1742 · 7 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
[Area] Core [Type] Bug Needs Reproduction Needs Triage
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
wpengine/faustjs#1531 · 3 commenti · 3 reazioni ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di wpengine/faustjs
Issue simili
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 82/100
source-cooperative/docs.source.coop#41 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
Nimblesite/SharpLsp#468 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
solidjs-community/solid-primitives#1082 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno