RFC: Use WordPress as your app's data store
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- graphql, json, typescript, wordpress
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- TypeScript
- Estrellas
- 1.6k
- Forks
- 157
- Merge medio
- 1 d 5 h
- PR fusionados (30 d)
- 121
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de wpengine/faustjs
-
Add WordPress-style body classes to Faust pagesPosiblemente ocupada @josephfusco la tomó hoy. Abierto[Area] Core [Type] Enhancement
wpengine/faustjs#2682 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
feat: connect Faust.js to WordPress with an Application PasswordPosiblemente ocupada @josephfusco la tomó hace 1 día. Abierto[Area] CLI [Area] Core [Area] WordPress Plugin [Type] Feature
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
Los mantenedores suelen responder en 1 día
-
RFC: Raise the minimum Node.js version to 22 in the next majorPosiblemente ocupada @josephfusco la tomó hace 1 día. Abierto[Area] Compatibility Breaking Change Needs Discussion
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
Los mantenedores suelen responder en 1 día
-
Apollo Client 4 SPIKEAbierto[Area] Core dependencies
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
wpengine/faustjs#2192 · 5 reacciones ·
Los mantenedores suelen responder en 1 día
-
[Area] Core [Area] WordPress Plugin [Type] Bug Needs Reproduction
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
wpengine/faustjs#1933 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de wpengine/faustjs
Issues similares
-
Area/Cloud Needs Triage Type/Bug
Dificultad 1/5 1-3 horas Aptitud para principiantes 86/100
wso2/product-integrator#2847 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
bluesky-social/social-app#12118 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
heygen-com/hyperframes#6021 ·
Los mantenedores suelen responder en 1 día
-
Edit: Tele Posadas HDAbiertocheck:passed streams:edit
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día