@@ -36,6 +36,8 @@ ObjectQL is organized as a Monorepo to ensure modularity and universal compatibi
3636| ** ` @objectql/core ` ** | Universal | ** The Engine.** The runtime logic, validation, and repository pattern. |
3737| ** ` @objectql/driver-sql ` ** | Node.js | Adapter for SQL databases (Postgres, MySQL, SQLite) via Knex. |
3838| ** ` @objectql/driver-mongo ` ** | Node.js | Adapter for MongoDB. |
39+ | ** ` @objectql/driver-memory ` ** | Universal | ** In-Memory Driver.** Zero dependencies, perfect for testing and browser apps. |
40+ | ** ` @objectql/driver-localstorage ` ** | Browser | ** Browser Storage.** Persistent client-side storage using LocalStorage. |
3941| ** ` @objectql/sdk ` ** | Universal | ** Remote Driver.** Connects to an ObjectQL server via HTTP. |
4042| ** ` @objectql/platform-node ` ** | Node.js | Utilities for loading YAML files from the filesystem. |
4143
@@ -130,6 +132,55 @@ ObjectQL isolates the "What" (Query) from the "How" (Execution).
130132* Instead of connecting to a DB, it connects to an ObjectQL Server API.
131133* The API usage remains exactly the same (` repo.find(...) ` ), but it runs over HTTP.
132134
135+ #### Memory Driver (` @objectql/driver-memory ` )
136+
137+ * ** Zero dependencies** - Pure JavaScript implementation
138+ * ** Universal** - Works in Node.js, Browser, Edge environments
139+ * Perfect for testing, prototyping, and client-side state management
140+ * See [ Browser Demo] ( ./examples/browser-demo/ ) for live examples
141+
142+ #### LocalStorage Driver (` @objectql/driver-localstorage ` )
143+
144+ * ** Browser-native persistence** - Data survives page refreshes
145+ * Built on Web Storage API
146+ * Perfect for offline apps, PWAs, and user preferences
147+ * See [ LocalStorage Demo] ( ./examples/browser-localstorage-demo/ ) for examples
148+
149+ ### Browser Support 🌐
150+
151+ ObjectQL runs ** natively in web browsers** with zero backend required! This makes it perfect for:
152+
153+ - 🚀 ** Rapid Prototyping** - Build UIs without server setup
154+ - 📱 ** Offline-First Apps** - PWAs with client-side data
155+ - 🎓 ** Educational Tools** - Interactive learning experiences
156+ - 🧪 ** Testing** - Browser-based test environments
157+
158+ ** Try it now:** Check out our interactive [ Browser Demo] ( ./examples/browser-demo/ ) and [ LocalStorage Demo] ( ./examples/browser-localstorage-demo/ ) !
159+
160+ ``` javascript
161+ // Running ObjectQL in the browser - it's that simple!
162+ import { ObjectQL } from ' @objectql/core' ;
163+ import { MemoryDriver } from ' @objectql/driver-memory' ;
164+
165+ const driver = new MemoryDriver ();
166+ const app = new ObjectQL ({ datasources: { default: driver } });
167+
168+ app .registerObject ({
169+ name: ' tasks' ,
170+ fields: {
171+ title: { type: ' text' , required: true },
172+ completed: { type: ' boolean' , defaultValue: false }
173+ }
174+ });
175+
176+ await app .init ();
177+
178+ // Use it just like on the server!
179+ const ctx = app .createContext ({ isSystem: true });
180+ const tasks = ctx .object (' tasks' );
181+ await tasks .create ({ title: ' Build awesome app!' });
182+ ```
183+
133184### Extensibility
134185
135186ObjectQL's driver architecture supports custom database implementations. Potential databases include:
0 commit comments