Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/maxnowack/signaldb
SignalDB is a local JavaScript database with a MongoDB-like interface and TypeScript support, enabling optimistic UI with signal-based reactivity across multiple frameworks. It integrates easily with libraries like Angular, Solid.js, Preact, and Vue, simplifying data management with schema-less design, in-memory storage, and fast queries.
https://github.com/maxnowack/signaldb
client client-database database hacktoberfest live-updates local-database meteor mongodb offline-first optimistic-ui reactive reactive-programming reactivity real-time replication signals synchronization tracker typescript
Last synced: 1 day ago
JSON representation
SignalDB is a local JavaScript database with a MongoDB-like interface and TypeScript support, enabling optimistic UI with signal-based reactivity across multiple frameworks. It integrates easily with libraries like Angular, Solid.js, Preact, and Vue, simplifying data management with schema-less design, in-memory storage, and fast queries.
- Host: GitHub
- URL: https://github.com/maxnowack/signaldb
- Owner: maxnowack
- License: mit
- Created: 2023-07-03T11:21:29.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-03T10:20:59.000Z (9 days ago)
- Last Synced: 2025-01-03T19:03:34.538Z (9 days ago)
- Topics: client, client-database, database, hacktoberfest, live-updates, local-database, meteor, mongodb, offline-first, optimistic-ui, reactive, reactive-programming, reactivity, real-time, replication, signals, synchronization, tracker, typescript
- Language: TypeScript
- Homepage: https://signaldb.js.org/
- Size: 5.65 MB
- Stars: 340
- Watchers: 6
- Forks: 14
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-angular - signaldb - A local JavaScript database with a MongoDB-like interface and TypeScript support, enabling optimistic UI with signal-based reactivity. It integrates easily with Angular, Solid.js, Preact, and Vue, simplifying data management with schema-less design, in-memory storage, and fast queries. (Table of contents / Third Party Components)
- fucking-awesome-angular - signaldb - A local JavaScript database with a MongoDB-like interface and TypeScript support, enabling optimistic UI with signal-based reactivity. It integrates easily with Angular, Solid.js, Preact, and Vue, simplifying data management with schema-less design, in-memory storage, and fast queries. (Table of contents / Third Party Components)
- fucking-awesome-angular - signaldb - A local JavaScript database with a MongoDB-like interface and TypeScript support, enabling optimistic UI with signal-based reactivity. It integrates easily with Angular, Solid.js, Preact, and Vue, simplifying data management with schema-less design, in-memory storage, and fast queries. (Table of contents / Third Party Components)
- fucking-awesome-angular - signaldb - A local JavaScript database with a MongoDB-like interface and TypeScript support, enabling optimistic UI with signal-based reactivity. It integrates easily with Angular, Solid.js, Preact, and Vue, simplifying data management with schema-less design, in-memory storage, and fast queries. (Table of contents / Third Party Components)
README
# SignalDB
SignalDB is a client-side database optimized for modern web applications. It provides an optimistic UI for creating responsive and dynamic interfaces, a MongoDB-like interface for familiarity, and robust TypeScript support to ensure type safety and accelerate development. SignalDB enables versatile local data persistence with support for various storage providers and facilitates real-time updates by gathering and synchronizing data from multiple sources. Its framework-agnostic design makes it suitable for projects of any scale, offering instant data access with minimal latency, which is ideal for applications requiring fast data handling and real-time interactions. Adapters are available for popular reactive libraries, including [Angular](https://signaldb.js.org/guides/angular/), [React](https://signaldb.js.org/guides/react/), [Solid](https://signaldb.js.org/guides/solid-js/), [Svelte](https://signaldb.js.org/guides/svelte/) and [Vue.js](https://signaldb.js.org/guides/vue/).
## Installation
````
$ npm install @signaldb/core
````## Usage
```js
import { Collection } from '@signaldb/core'const Posts = new Collection()
const postId = Posts.insert({ title: 'Foo', text: 'Lorem ipsum …' })Posts.updateOne({ id: postId }, { // updates the post
$set: {
title: 'New title',
}
})Posts.removeOne({ id: postId }) // removes the post
const cursor = collection.find({})
// returns an array with all documents in the collection
// reruns automatically in a reactive context
console.log(cursor.fetch())
```See the [documentation](https://signaldb.js.org/) for more information.
## License
Licensed under MIT license. Copyright (c) 2024 Max Nowack## Contributions
Contributions are welcome. Please open issues and/or file Pull Requests.
See [Contributing.md](https://github.com/maxnowack/signaldb/blob/main/CONTRIBUTING.md) to get started.## Troubleshooting
If you encounter any issues, there are several ways to get support.
- Join our [Discord server](https://discord.gg/qMvXKXxBTp).
- [Start a discussion](https://github.com/maxnowack/signaldb/discussions/new/choose)
- [Open an issue](https://github.com/maxnowack/signaldb/issues/new)